Cyclomatic复杂性和变体

时间:2015-01-14 22:56:53

标签: java complexity-theory

基本的,设计复杂性,扩展的圈复杂度,圈复杂度之间的差异是什么?

我正在使用IntelliJ IDEA插件检查此指标。

enter image description here

1 个答案:

答案 0 :(得分:5)

<强>概述

设计复杂性测量方法对其他方法的依赖性; 圈复杂度测量通过方法的不同路径的数量;和扩展的圈复杂度添加一个控制逻辑度量来表示“完全运用方法控制流所需的最小测试次数。”

<强>详情

Design complexity

  

此指标报告方法的设计复杂性。该设计   复杂性与方法的控制流相互关联的方式有关   调用其他方法。设计复杂度范围从1到V(g),   该方法的圈复杂度。设计复杂性也   代表运动所需的最小数量的测试   方法与它调用的方法的集成。

Cyclomatic complexity

  

此指标报告每个非抽象的圈复杂度   方法。圈复杂度是图的理论尺度   每种方法的不同路径的数量。在实践中,它是   基本上是1 +方法中分支点的数量。

<强> Extended cyclomatic complexity

  

此指标报告每个指标的扩展的圈复杂度   非抽象方法。循环复杂性是图论的   通过每种方法测量不同路径的数量,增加   通过衡量决策点的复杂程度。在实践中,它   基本上是1 +方法中的分支点数加上   逻辑'和'和'或'操作的数量。循环复杂性   也代表完全必要的最小数量的测试   运用方法的控制流程。