本主题说明如何执行静态代码分析以识别不符合预配置或自定义静态分析规则集的代码。各节内容包括:

增强静态分析

C/C++test 经过优化,可最大限度地减少对开发过程的影响。通过重复使用先前分析运行中收集的信息,可以减少后续运行中的分析时间。该信息存储在您的 .cpptest 文件夹中 解决方案。 为确保最佳性能,请避免删除 .cpptest 文件夹或删除该文件夹的内容。

分析标题

C++test 不直接分析头文件,除非它们包含在被测源文件中。请参见 如何分析头文件/分析了哪些文件?Troubleshooting and FAQs有关详细信息。

分析模板功能

C++test 对实例化的函数模板和类模板的实例化成员执行静态分析。有关详细信息,请参见支持模板功能

执行静态代码分析

对一个或多个文件进行静态代码分析的一般过程如下:

  1. 选择或创建具有首选静态代码分析设置的测试配置。
  2. 使用首选的测试配置开始测试。
  3. 查看并响应结果。
  4. (可选)根据需要微调静态代码分析设置。

使用 cpptestcli 配置批处理模式分析

定期安排批处理模式编码标准分析应该简单地执行内建或自定义测试配置,使用对您的团队很重要的编码标准规则来分析您的项目。示例:

  • cpptestcli -solution “C:\temp\*.sln” –config team://CodingStandardsAnalysis -publish
参见从命令行界面进行测试 以获取有关配置批处理模式测试的更多详细信息。

使用静态分析检测重复代码

通过识别和删除重复代码,您可以使代码更简洁、更易读且更易于维护。它可以检测在开发过程中引入的类似代码片段(例如通过复制粘贴错误)。  它对于大型项目尤其有用,因为手动重复检测既乏味又效率低下。

要检测重复代码,请运行内建的“查找重复代码”测试配置或包含代码重复检测类别中所需规则的自定义测试配置。

您可以自定义用于确定两个代码片段是否报告为重复的代码相似性级别。通过配置规则属性,您可以忽略变量名称、字符串文字、数字文字和布尔文字。所有文本流差异(如制表符、空格、换行符和注释)总是被忽略。

有关更多详细信息,请参阅代码重复检测类别中特定规则的规则说明。


  • No labels