| 提出 | Thomas J. McCabe(1976 论文) |
|---|---|
| 计算 | M = E − N + 2P;等价于 1 + 判定点个数 |
| 用途 | 可测试性评估、模块拆分参考 |
计数示例
计数示例
int f(int a, int b) {
if (a > 0) { ... } // +1
while (b-- > 0) { ... } // +1
return a > b ? 1 : 0; // +1
}
// M = 1 + 3 = 4常见阈值(如 10)是经验值而非标准:用于触发讨论与拆分,不用于个人考核。