圈复杂度和变体

mbyulnm0  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(457)

本质复杂性、设计复杂性、扩展圈复杂性、圈复杂性之间有什么区别?
我正在用intellij idea插件检查这个指标。

vvppvyoh

vvppvyoh1#

概述
设计复杂性衡量一种方法对其他方法的依赖性;圈复杂度通过一种方法度量不同路径的数量;扩展的圈复杂度增加了一个控制逻辑度量来表示“完全执行方法控制流所需的最少测试次数”
细节
设计复杂性
此度量报告方法的设计复杂性。设计的复杂性与方法的控制流与对其他方法的调用之间的相互联系有关。设计复杂度范围从1到v(g),即方法的圈复杂度。设计复杂性也代表了将方法与其调用的方法进行集成所需的最少测试次数。
圈复杂性
此度量报告每个非抽象方法的圈复杂度。圈复杂度是通过每种方法对不同路径数的图论度量。在实际应用中,该方法基本上是1+分支点数。
扩展圈复杂度
这个度量报告了每个非抽象方法的扩展圈复杂度。圈复杂度是通过每种方法对不同路径数的图论度量,并通过对决策点复杂度的度量加以增强。实际上,它基本上是1+方法中分支点的数量加上逻辑“and”和“or”运算的数量。圈复杂度还表示完全执行方法控制流所需的最少测试数。

相关问题