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