4

我想知道圈复杂度的标准范围应该是多少?

它取决于语言或平台,还是对所有人都通用?

我正在使用 State of Flow - EclipseMetrics,它是一个 Eclipse 插件,它会在构建周期中为您的代码计算各种指标,并通过“问题”视图警告您每个指标的“范围违规”。

4

4 回答 4

4

尽可能低,就像任何其他代码一样。通常建议将圈复杂度保持在 5 以下。

实际上,说起来容易做起来难。祝你好运!

于 2013-06-20T12:28:31.600 回答
4

我已经参考了这个链接 - 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 应用不稳定

于 2013-07-03T09:22:55.847 回答
1

这个问题与您的环境无关。无论您是为 android 还是 Java EE 开发都没有关系。

Cyclomac 复杂性只会帮助您保持代码的可维护性。计算机复杂度高没有问题,但是如果复杂度太高,您将无法理解您的代码。

正如 Joris 提到的,5 的值作为一个限制很好,但实际上有时很难达到。

于 2013-06-20T12:42:19.327 回答
1

圈复杂度不依赖于平台或语言。(见圈复杂度的定义)

它还取决于您必须解决的任务的固有复杂性。您的代码的复杂性不能低于任务的复杂性,否则代码会被简化并且缺少某些内容。

通常,您可以通过重构来降低特定方法的循环复杂性。

于 2013-07-03T09:33:03.983 回答