【发布时间】:2013-06-20 12:23:01
【问题描述】:
我想知道圈复杂度的标准范围应该是多少?
它取决于语言或平台还是对所有人都通用?
我正在使用 State of Flow - EclipseMetrics,它是一个 Eclipse 插件,它在构建周期为您的代码计算各种指标,并通过“问题”视图警告您每个指标的“范围违规”。
【问题讨论】:
标签: java android cyclomatic-complexity
我想知道圈复杂度的标准范围应该是多少?
它取决于语言或平台还是对所有人都通用?
我正在使用 State of Flow - EclipseMetrics,它是一个 Eclipse 插件,它在构建周期为您的代码计算各种指标,并通过“问题”视图警告您每个指标的“范围违规”。
【问题讨论】:
标签: java android cyclomatic-complexity
尽可能低,就像任何其他代码一样。 一般建议圈复杂度保持在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 开发都没有关系。
cyclomatoc 复杂性只会帮助您保持代码的可维护性。计算机复杂度高没有问题,但是复杂度太高你就看不懂你的代码。
正如 Joris 所说,5 作为一个限制值是可以的,但实际上有时很难达到。
【讨论】:
圈复杂度不依赖于平台或语言。 (参见圈复杂度的定义)
它还取决于您必须解决的任务的内在复杂性。你的代码的复杂度不能低于任务的复杂度,否则代码会被简化,会遗漏一些东西。
您通常可以通过重构来降低特定方法的圈复杂度。
【讨论】: