首页/文档/技术债务与规则/理解并验证 CppDepend 中的 CQLinq 代码规则

理解并验证 CppDepend 中的 CQLinq 代码规则

理解并验证 CppDepend 中的 CQLinq 代码规则

该工具的一个受欢迎方面 CppDepend 是工具集成到 持续集成构建流程。每天早上,团队负责人都会收到一份最新报告,告知过去 24 小时内是否有用 CQLinq 编写的编码规则被违反。

CppDepend 集成在 Visual Studio 中是对开发人员违反规则这一关键场景的更流畅的解决方案。等到第二天才发现规则被违反太久了,这不够敏捷。因此,CQLinq 规则违规会在 Visual Studio 中尽早发出警告。

检查是否存在规则违规

开发人员可以通过以下方式随时了解 CQLinq 规则的验证状态 CppDepend 位于 Visual 右下角的进度圆圈CppDepend 和Visual Studio。

绿,意味着所有CQLinq规则都已验证,
,表示某些已激活的 CQLinq 规则被违反,
,意思是:
  • 一些 严重CQLinq规则 被违反
  • 某些已激活的 CQLinq 规则或查询无法编译
  • 某些已激活的 CQLinq 规则或查询存在执行问题(抛出异常或超时)
蓝色 + 进行中,意味着代码当前 已加载 由CppDepend,
蓝色 + 进行中 + 旋转箭头,意味着代码当前 已分析 由CppDepend,
,表示当前 Visual Studio 中没有加载 CppDepend 项目。

在 CppDepend 仪表板上,您可以看到被违反的规则数量和规则违规次数。

带违规规则的CppDepend仪表板

请注意 违反的规则, 违反的严重规则……是链接。点击后,相关的规则或查询会列在 查询和规则浏览器 面板。

规则浏览器和规则编辑

CQLinq Explorer 列出按类别分组的所有规则……

按类别的CppDepend规则

……单击规则可以跳转到 CQLinq 编辑面板,您可以在其中编辑规则并查看违反该规则的问题方法或类。

CQLinq规则编辑面板

当然,双击一个有问题的方法或类可以跳转到其源代码声明。如果 CppDepend 分析的应用程序跨越多个 VS 解决方案,并且这些解决方案当前在多个 VS 实例中打开,代码元素将在适当的 VS 实例中被编辑,即包含该代码元素所在 VS 解决方案的那个实例。乍一看,这种行为可能会令人惊讶,甚至看起来像 bug。但随着习惯的养成,它会成为一个强大的省时技巧。

关注最近的代码规则违规

在大型遗留代码库上,CppDepend 可能会报告数千个代码违规。CppDepend 提供了只关注最近代码规则违规的功能。只有自……以来添加或重构的代码元素上发生的违规才会 比较基线 将被报告。

因此此功能代表了一种方式 对规则违规进行优先级排序 显著减少报告的违规数量,仅关注最近的违规。要启用此功能(针对交互式 UI 和报告中报告的规则违规),只需勾选该复选框 仅最近的违规 在仪表板上。一个 比较基线 需要定义才能使此功能正常工作。

最近违反的规则

规则执行选项

CppDepend 提供了在分析期间执行 CQLinq 规则的灵活选项。规则可以在构建期间自动运行、通过 UI 按需运行,或作为 CI/CD 流水线的一部分运行。执行引擎处理编译、缓存和错误报告,确保在整个代码库中快速可靠地验证规则。

立即试用 CppDepend

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