本主题说明如何执行静态代码分析以识别不符合预配置或自定义静态分析规则集的代码。各节内容包括:
Table of Contents |
---|
Info | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Info | ||||
---|---|---|---|---|
| ||||
C++test 不直接分析头文件,除非它们包含在被测源文件中。请参见 如何分析头文件/分析了哪些文件?Troubleshooting and FAQs有关详细信息。 |
Info | ||||
---|---|---|---|---|
| ||||
C++test 对实例化的函数模板和类模板的实例化成员执行静态分析。有关详细信息,请参见Support for Template Functions 。 |
执行静态代码分析
对一个或多个文件进行静态代码分析的一般过程如下:
- 选择或创建具有首选静态代码分析设置的测试配置。
- 有关预配置测试配置的说明,请参见 内置测试配置。
- 有关如何创建自定义测试配置的详细信息,请参见 配置测试配置和策略规则。静态选项卡设置:中提供了有关 C++test 特定静态分析选项的详细信息Scope Tab Settings: Defining What Code is Tested定义静态分析的执行方式。
- 使用首选的测试配置开始测试。
- 有关从图形用户界面进行测试的详细信息,请参见Testing from the GUI。
- 有关从命令行进行测试的详细信息,请参见Testing from the Command Line Interface。
- 查看并响应结果。
- 有关详细信息,请参见Reviewing Static Code Analysis Results。
- (可选)根据需要微调静态代码分析设置。
- 有关详细信息,请参见Customizing Static Analysis Overview。
使用 cpptestcli 配置批处理模式分析
定期安排批处理模式编码标准分析应该简单地执行内建或自定义测试配置,使用对您的团队很重要的编码标准规则来分析您的项目。示例:
- cpptestcli -data /path/to/workspace -resource "ProjectToTest" -config team://CodingStandard-sAnalysis -publish
使用静态分析检测重复代码
通过识别和删除重复代码,您可以使代码更简洁、更易读且更易于维护。它可以检测在开发过程中引入的类似代码片段(例如通过复制粘贴错误)。 它对于大型项目尤其有用,因为手动重复检测既乏味又效率低下。
要检测重复代码,请运行内建的“查找重复代码”测试配置或包含代码重复检测类别中所需规则的自定义测试配置。
您可以自定义用于确定两个代码片段是否报告为重复的代码相似性级别。通过配置规则属性,您可以忽略变量名称、字符串文字、数字文字和布尔文字。所有文本流差异(如制表符、空格、换行符和注释)总是被忽略。
有关更多详细信息,请参阅代码重复检测类别中特定规则的规则说明。