【SonarQube】Cyclomatic Complexity 圈复杂度
Cyclomatic Complexity 来自 SonarQube 函数的复杂度是通过函数体中的逻辑运算符(&&、||)和条件控制语句(if、while、do-while、for、?:、catch、case、default)的数量来衡量的。 计算规则: 默认复杂度是 1,每遇到一次上述符号,复杂度增加 1。 复杂度在 1 到 10 之间的方法被认为是简单的,易于理解和测试。 复杂度在 10 到 20 之间的值表示代码更复杂,但仍然可以理解;然而,由于代码可能包含更多的分支,测试变得更加困难。 复杂度在 20 及以上是典型的具有大量潜在执行路径的代码,只有经过极大的困难和努力才能完全掌握和测试。 复杂度大于 50,肯定是不可维护的,或者说非常然维护的。 错误提示 The Cyclomatic Complexity of this function is 31 which is greater than 20 authorized. The Cyclomatic Complexity of this function is 23 which is greater than 20 authorized. 分析 其中: +1: function definition 表示定义函数时,复杂度默认为 1。 +1: if statement 表示识别到 if 语句,复杂度加 1。 +1: while loop ...