主要内容

使用 Polyspace 计算代码复杂度度量

本主题介绍如何计算所有代码复杂度度量,然后审查超出指定阈值的度量。要仅在度量值超出阈值时对其进行查看,请检查有关软件复杂度的规范。请参阅Reduce Software Complexity by Using Polyspace Checkers

代码复杂度度量是一组用于量化 C/C++ 程序复杂度的数字。例如:

  • 圈复杂度高的函数包含太多分支。

  • 包含大量 return 语句的函数具有太多退出点。

复杂的程序难以调试、分析、测试和维护。为避免复杂度过高,请在编码期间对复杂度度量施加限制。

默认情况下,Polyspace® 不计算代码复杂度度量。要在分析期间计算这些度量,请使用计算代码度量 (-code-metrics) 选项。

分析完成后,该软件会在结果列表窗格中显示工程、文件和函数度量。您可以将计算的度量值与预定义的限制进行比较。如果某个度量值超出限制,您可以重新设计代码以减小该度量值。例如,如果被调函数较多,并且其中几个函数总是被一起调用,您可以编写一个函数来融合这些函数的主体。然后,您可以调用这一函数,而非一起调用的一组函数。

对度量施加限制

在 Polyspace 用户界面中,使用规范检查项检查超出指定阈值的编码度量。规范检查项对应于 Polyspace Bug Finder™ 支持的代码度量。您可以为支持的代码度量指定可接受的值,然后检查是否存在超出指定值的代码。

要启用规范检查项并指定阈值,请使用“检查项选择”对话框。有关详细信息,请参阅Reduce Software Complexity by Using Polyspace Checkers。有关规范检查项的列表,请参阅规范

对度量施加限制(Server 和 Access 产品)

Polyspace Access™ Web 界面中,预定义了对代码复杂度度量的限制。在控制板透视中,如果您选择代码度量,则代码度量窗口会显示度量值和限制。

要查找使用的限制,请参阅HIS 代码复杂度度量

另请参阅Code Metrics Dashboard in Polyspace Access Web Interface (Polyspace Access)

另请参阅

主题