我想知道应该是标准范围的圈复杂度?
这取决于语言或平台,还是所有人都常见?
我正在使用State of Flow - EclipseMetrics这是一个Eclipse插件,可以在构建周期内为您的代码计算各种指标,并通过问题视图向您发出每个指标的“范围违规”的警告。
答案 0 :(得分:4)
我已提及此链接 - http://www.javaworld.com/community/node/1005
Cyclocmatic complexity = Number of decision points + 1
决策点可能是你的条件语句,如if,if ... else,switch,for循环,while循环等。
下图描述了应用程序的类型。
Cyclomatic Complexity 1 - 10 被视为正常 applicatinon
Cyclomatic Complexity 11 - 20 中等应用程序
Cyclomatic Complexity 21 - 50 冒险应用程序
Cyclomatic Complexity 超过50 不稳定应用程序
答案 1 :(得分:3)
尽可能低,就像任何其他代码一样。 通常,建议将圈复杂度保持在5以下。
实际上,说起来容易做起来难。祝你好运!
答案 2 :(得分:1)
此问题与您的环境无关。如果你为android或Java EE开发没关系。
loopmatoc复杂性只能帮助您保持代码的可维护性。计算机没有高复杂性的问题,但如果复杂性太高,你将无法理解你的代码。
正如Joris所提到的,5的值是一个很好的限制,但实际上有时很难实现。
答案 3 :(得分:1)
圈复合并不依赖于平台或语言。 (参见圈复杂度的定义)
它还取决于您必须解决的任务的固有复杂性。你的代码的复杂性不能低于任务的复杂性,否则代码会被简化并丢失一些东西。
通常,您可以通过重构来降低特定方法的循环复杂性。