Cyclomatic复杂性和变体

问题描述 投票:4回答:1

什么是必要的,设计复杂性,扩展的圈复杂度,圈复杂度之间的区别?

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

java complexity-theory
1个回答
5
投票

概观

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

细节

Design complexity

该指标报告方法的设计复杂性。设计复杂性与方法的控制流与调用其他方法的相互关联方式有关。设计复杂度范围从1到V(g),该方法的圈复杂度。设计复杂性还表示将方法与其调用的方法集成所需的最少测试次数。

Cyclomatic complexity

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

Extended cyclomatic complexity

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

© www.soinside.com 2019 - 2024. All rights reserved.