我读到了Cyclomatic复杂性和多个return语句,但我有点困惑,因为对多个return语句有不同的看法。
首先,在Cyclomatic Complexity计算期间,我应该将每个return语句计为一个端点,这会增加我认为的复杂性吗?在公式(M = E - N + 2 * P)中,当我添加一个return语句时,它会增加一个,是不是?
用于简单健全性检查的Guard子句是另一种方式,而不是嵌套if子句,以便尽快返回。但是,这会为代码增加更多的返回数据并增加CC?
在CC方面是否有使用保护条款和多个退货声明的常见最佳做法?
答案 0 :(得分:1)
尽管已经提出了许多指标,但软件复杂性并不容易衡量。尽管非常常用,但圈复杂度也有其局限性。以下是一些学术批评的参考。
要对问题给出具体答案,我不知道有任何这样的最佳做法。我必须说我认为CC是我最好的粗略指标。保持警戒条件对我来说更重要。希望这会有所帮助。