3

我读到了圈复杂度和多个返回语句,但我有点困惑,因为对多个返回语句有不同的看法。

首先,在循环复杂度计算期间,我是否应该将每个返回语句算作一个端点,这会增加我认为的复杂度?在公式(M = E - N + 2*P)中,当我添加return语句时,它会增加1,对吗?

用于简单完整性检查的 Guard 子句添加是另一种方法,而不是嵌套的 if 子句,以便尽快返回。但是,这会在代码中添加更多的返回语句并增加 CC 吗?

就 CC 而言,是否有任何常见的最佳实践来使用保护子句和多个返回语句?

4

1 回答 1

1

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

为了给出这个问题的具体答案,我不知道有任何这样的最佳实践。我必须说,我认为 CC 充其量只是一个粗略的指标。保持警卫条件对我来说更重要。希望这可以帮助。

于 2014-05-21T14:28:25.583 回答