掌握依赖关系图
架构存在于依赖关系中——而依赖关系存在于代码中,而不是 PowerPoint 中。CppDepend 直接从您的构建生成实时、交互式的依赖关系图:项目、命名空间、类和方法作为节点,使用关系作为加权边。
从 30,000 英尺的视图缩放到单个方法调用。对于密集的代码库,依赖矩阵补充了图形——DSM 比一千个箭头读起来更快。
- 从真实代码生成的图——始终最新,永不脱离实际
- 多个层级:应用程序、项目、命名空间、类型、方法、字段
- 用于精确定位意外耦合的依赖矩阵(DSM)
- 导出并与团队分享图表

强制执行架构规则
不被执行的架构会悄然腐化。使用 CQLinq,您可以将设计决策——分层、允许的依赖、禁用的 API、命名方案——变成每次分析都会检查的可执行规则。
编写诸如“UI 代码不得访问持久层”或“只有工厂可以实例化实现”之类的规则,并在下一次构建时立即获得违规列表。CppDepend 附带数十条预定义架构规则,您可以根据自己的规范进行调整。
- 用几行 CQLinq 表达分层和组件规则
- 针对常见架构模式的预定义规则
- 按提交报告违规,含基线对比
- 规则与代码一起版本化,存放在可共享的规则文件中

用 CQLinq 防止循环依赖
循环依赖是软件架构的原罪:它们使代码无法测试、复用或拆分。CppDepend 在每一层级检测循环——组件、命名空间和类之间——并显示断开它们所需移除的最小边集。
更重要的是:CQLinq 规则可以在新循环出现的那天就让构建失败——这样问题在还是一个依赖时就被修复,而不是两百个。
- 自动检测项目、命名空间和类型之间的循环
- 可视化循环探索器建议要移除的边
- 质量门禁:出现任何新循环时让构建失败
- 用趋势指标跟踪循环数量随时间的变化

看看 CppDepend 在您的代码中发现了什么
下载免费试用版,几分钟内对您自己的代码库运行完整分析。

