java – Cyclomatic复杂性和变体
作者:互联网
什么是必要的,设计复杂性,扩展的圈复杂度,圈复杂度之间的差异?
我正在使用IntelliJ IDEA插件检查这些指标.
解决方法:
概观
设计复杂度衡量方法对其他方法的依赖性;圈复杂度通过一种方法测量不同路径的数量;并且扩展的圈复杂度增加了一个控制逻辑度量来表示“完全运用方法控制流所需的最小数量的测试”.
细节
This metric reports the design complexity of a method. The design
complexity is related to how interlinked a method’s control flow is
with calls to other methods. Design complexity ranges from 1 to V(g),
the cyclomatic complexity of the method. Design complexity also
represents the minimal number of tests necessary to exercise the
integration of the method with the methods it calls.
This metric reports the cyclomatic complexity of each non-abstract
method. Cyclomatic complexity is a graph-theoretic measure of the
number of distinct paths through each method. In practice, it is
basically 1 + the number of branch points in the method.
Extended cyclomatic complexity
This metric reports the extended cyclomatic complexity of each
non-abstract method. Cyclomatic complexity is a graph-theoretic
measure of the number of distinct paths through each method, augmented
by a measure of the complexity of the decision points. In practice, it
is basically 1 + the number of branch points in the method plus the
number of logical ‘and’ and ‘or’ operations. Cyclomatic complexity
also represents the minimal number of tests necessary to completely
exercise a method’s control flow.
标签:java,complexity-theory 来源: https://codeday.me/bug/20190609/1206236.html