CppDepend
首页/功能/架构/探索现有架构

探索现有架构

可视化依赖与架构

了解代码库各元素之间的相互依赖关系是至关重要的信息。作为开发者,您会花时间思考各层应如何交互,创建接口和事件以避免具体类之间的依赖。

随着代码库增长,越来越多的时间花在管理和分析依赖上。 如果我重构这段代码,全局影响是什么?这一层允许直接访问数据库吗?如果我的代码调用这个方法,会意外冻结 UI 线程吗?

CppDepend 附带多个可实现高效依赖管理的工具。几秒钟内,您就可以知道重构某个类会影响代码的哪些部分;如果意外创建了层依赖违规,您会收到提醒;您可以精确定位代码的哪部分依赖某个第三方组件;可以列出从给定方法可达的方法,等等。

调用者/被调用者图

依赖图

依赖图 以可视化方式展示代码元素之间的交互。帮助开发者一目了然地理解代码库结构并识别潜在问题。

  • 可视化任意方法或类型的调用关系
  • 在项目、命名空间或类级别探索依赖
  • 识别循环和紧耦合组件
  • 重构前评估影响
依赖矩阵

依赖结构矩阵

依赖结构矩阵(DSM) 提供紧凑的矩阵式依赖视图,与图形可视化互补。在图形难以阅读的大型代码库中尤其有用。

  • 所有依赖的紧凑表示
  • 一眼发现分层违规与循环
  • 高效浏览大型代码库
  • 比较版本间的依赖模式
方法依赖

层依赖违规

CppDepend 通过检测帮助强制执行架构约束 层依赖违规。当某一层访问了它不应依赖的另一层时,CppDepend 会标记该违规,以便在其成为结构性问题之前处理。

  • 定义允许和禁止的层依赖
  • 在开发过程中检测意外违规
  • 在依赖图中可视化违规路径
cqlinq 查询生成依赖图

Code Quest 集成

依赖分析已完全集成到 Code Quest,让您能够编写以编程方式探索依赖关系的自定义查询。您可以将依赖数据与度量、代码规则和质量门结合,实现强大的分析场景。

  • 使用 Code Quest 查询依赖
  • 从查询结果导出依赖图
  • 为依赖约束创建自定义规则

试用 探索现有架构 使用 CppDepend

开始 14 天免费试用,畅享全部功能。无需信用卡。