循环复杂度用于多个返回语句

时间:2014-05-21 12:03:06

标签: design-patterns cyclomatic-complexity

我读到了Cyclomatic复杂性和多个return语句,但我有点困惑,因为对多个return语句有不同的看法。

首先,在Cyclomatic Complexity计算期间,我应该将每个return语句计为一个端点,这会增加我认为的复杂性吗?在公式(M = E - N + 2 * P)中,当我添加一个return语句时,它会增加一个,是不是?

用于简单健全性检查的Guard子句是另一种方式,而不是嵌套if子句,以便尽快返回。但是,这会为代码增加更多的返回数据并增加CC?

在CC方面是否有使用保护条款和多个退货声明的常见最佳做法?

1 个答案:

答案 0 :(得分:1)

尽管已经提出了许多指标,但软件复杂性并不容易衡量。尽管非常常用,但圈复杂度也有其局限性。以下是一些学术批评的参考。

要对问题给出具体答案,我不知道有任何这样的最佳做法。我必须说我认为CC是我最好的粗略指标。保持警戒条件对我来说更重要。希望这会有所帮助。