CppDepend
首页/解决方案/软件架构师

构建与设计

面向软件架构师的 CppDepend

掌握依赖关系图,执行架构规则,用 CQLinq 防止循环依赖。

面向软件架构师的 CppDepend

掌握依赖关系图

架构存在于依赖关系中——而依赖关系存在于代码中,而不是 PowerPoint 中。CppDepend 直接从您的构建生成实时、交互式的依赖关系图:项目、命名空间、类和方法作为节点,使用关系作为加权边。

从 30,000 英尺的视图缩放到单个方法调用。对于密集的代码库,依赖矩阵补充了图形——DSM 比一千个箭头读起来更快。

  • 从真实代码生成的图——始终最新,永不脱离实际
  • 多个层级:应用程序、项目、命名空间、类型、方法、字段
  • 用于精确定位意外耦合的依赖矩阵(DSM)
  • 导出并与团队分享图表
深入了解:依赖关系图 →
掌握依赖关系图
依赖关系图:从项目下钻到方法,具有比例尺寸和边权重。

强制执行架构规则

不被执行的架构会悄然腐化。使用 CQLinq,您可以将设计决策——分层、允许的依赖、禁用的 API、命名方案——变成每次分析都会检查的可执行规则。

编写诸如“UI 代码不得访问持久层”或“只有工厂可以实例化实现”之类的规则,并在下一次构建时立即获得违规列表。CppDepend 附带数十条预定义架构规则,您可以根据自己的规范进行调整。

  • 用几行 CQLinq 表达分层和组件规则
  • 针对常见架构模式的预定义规则
  • 按提交报告违规,含基线对比
  • 规则与代码一起版本化,存放在可共享的规则文件中
学习 CQLinq →
强制执行架构规则
用 CQLinq 编写的架构规则:几秒钟内检测到分层违规。

用 CQLinq 防止循环依赖

循环依赖是软件架构的原罪:它们使代码无法测试、复用或拆分。CppDepend 在每一层级检测循环——组件、命名空间和类之间——并显示断开它们所需移除的最小边集。

更重要的是:CQLinq 规则可以在新循环出现的那天就让构建失败——这样问题在还是一个依赖时就被修复,而不是两百个。

  • 自动检测项目、命名空间和类型之间的循环
  • 可视化循环探索器建议要移除的边
  • 质量门禁:出现任何新循环时让构建失败
  • 用趋势指标跟踪循环数量随时间的变化
功能:依赖循环 →
用 CQLinq 防止循环依赖
依赖循环被检测和可视化——在它们固化之前将其断开。

看看 CppDepend 在您的代码中发现了什么

下载免费试用版,几分钟内对您自己的代码库运行完整分析。

下载免费试用版
← 返回所有角色