什么是必要的,设计复杂性,扩展的圈复杂度,圈复杂度之间的区别?
我正在使用IntelliJ IDEA插件检查这些指标。
概观
设计复杂度衡量方法对其他方法的依赖性;圈复杂度通过一种方法测量不同路径的数量;并且扩展的圈复杂度增加了一个控制逻辑度量来表示“完全运用方法控制流所需的最小数量的测试”。
细节
该指标报告方法的设计复杂性。设计复杂性与方法的控制流与调用其他方法的相互关联方式有关。设计复杂度范围从1到V(g),该方法的圈复杂度。设计复杂性还表示将方法与其调用的方法集成所需的最少测试次数。
该指标报告每个非抽象方法的圈复杂度。圈复杂度是通过每种方法的不同路径数量的图论理论度量。在实践中,它基本上是1 +方法中分支点的数量。
Extended cyclomatic complexity
该度量标准报告了每个非抽象方法的扩展的圈复杂度。环形复杂性是通过每种方法的不同路径的数量的图论理论度量,通过衡量决策点的复杂性来增加。在实践中,它基本上是1 +方法中分支点的数量加上逻辑“和”和“或”操作的数量。循环复杂性也代表了完全运用方法控制流所需的最小数量的测试。