parasoft Jtest 使用教程:代码规范静态分析Suppressions(禁止)概念解析
代码规范静态分析
Jtest 通过静态地分析代码,来执行代码规范静态分析,以检查与指定代码规范规则的一致性。此分析旨在通过以下措施防止错误,并改进代码质量:
- 检测源码中明显或潜在的缺陷。
- 防止使用可能有损安全性的代码。
- 实施组织设计准则、规范(专用于应用程序的、专门用途的或专用于平台的)、以及从已知的特定错误中概括出来的错误预防准则。
- 通过改进类设计和代码组织,而改进代码可维护性。
- 通过应用常见的格式化、命名以及其它风格方面的约定,提高代码可读性。
Jtest 已预先配置了内建的规则集,以执行代码规范静态分析。缺省情况下,大多数代码规范检查的Test Configurations(测试配置)中启用的规则,已显示出能快速而显著地提高代码的质量。遵循这一核心准则集的代码运行更快、更安全、更易维护,出现功能问题的可能性较小。
除了提供预先配置的规则集以外,Jtest 还允许您定义自己的规则集,包括自定义规则,以便实施特定于您的组织的代码规范策略。为帮助团队决定要遵循哪些规则,规则按主题分类(例如,安全性、优化、初始化等等),并按严重性分级(严重性是指检测到的问题将导致错误的可能性)。
如需了解 Jtest 代码标准规则方面的更多信息,请选择 “Jtest > Help(Jtest > 帮助)”,打开“Jtest Static Analysis Rules”(《Jtest 静态分析规则》)一书,然后浏览可用的规则描述文件。
Jtest 还能检查用户以 RuleWizard 模块所设计的任意数量自定义规则。有了 RuleWizard,就能以图形化的方式创建规则(通过创建流程图形方式的规则表示法),或者自动创建规则(通过提供演示样本规则违例的代码)。通过创建和检查自定义规则,团队可以验证独特的项目和组织需求,并防止最常见错误的重复出现。
Suppressions(禁止)
Suppressions(禁止)用来防止 Jtest 对额外出现的特定静态分析任务进行报告(可能会为单个规则报告多项任务)。禁止消息会发送到专门的Suppressions(禁止)视图,而非 Jtest 视图;这就能让你按需要监控那些违例,而把主要结果区域集中于其它错误。
当您通常想要遵循某条规则、但决定在少数异常情况下忽略该规则时,请使用suppressions(禁止)。通过使用suppressions,您可以继续检查代码是否遵循该规则,而不会接收到与故意违反规则有关的重复消息。如果您不想接收到某一特定规则违例的任何错误消息,那么我们您建议修改Test Configurations(测试配置),这样的话配置就不会再检查该条规则。
请注意,Suppressions(禁止)设置是独立于Test Configuration的。为避免冲突,请记住:
- Test Configuration定义了在静态分析期间检查的规则集。
- Suppressions(禁止)定义了哪些静态分析结果应在 Jtest 视图和报告中可见。
这就意味着,分析期间在Test Configuration中所选择的规则会接受检查,但匹配Suppressions(禁止)条件的结果将不会显示出来。
小技巧:
Suppressions(禁止)是基于消息,而非基于规则。Suppressions(禁止)可防止对特定的静态分析任务进行报告(例如,修正发生在Y行的X规则的违例);但Suppressions(禁止)并不阻止对某条规则的所有违例进行报告。
查看更多parasoft测试产品
获取更多活动信息