| 提出 | SonarSource(2016 起) |
|---|---|
| 与圈复杂度的差别 | 嵌套增量 + 结构惩罚,更贴近阅读难度 |
| 工具 | SonarQube / SonarLint 内置规则 |
计分示意
计分示意
if (a) { // +1
if (b) { // +2(嵌套 +1 增量)
if (c) { } // +3
}
}
// 三个顺序 if 则为 +3(每个 +1),深嵌套更贵SonarSource 提出的可读性导向复杂度:嵌套越深增分越多,线性顺序分支少加分,switch 整块计一次,直接回应「圈复杂度对可读性建模不足」的问题。
| 提出 | SonarSource(2016 起) |
|---|---|
| 与圈复杂度的差别 | 嵌套增量 + 结构惩罚,更贴近阅读难度 |
| 工具 | SonarQube / SonarLint 内置规则 |
if (a) { // +1
if (b) { // +2(嵌套 +1 增量)
if (c) { } // +3
}
}
// 三个顺序 if 则为 +3(每个 +1),深嵌套更贵