McCabe方法是计算软件复杂度的一种方式,主要通过计算程序的控制流图(Control Flow Graph, CFG)中的环路数量来衡量代码的复杂度。其核心指标是环形复杂度(Cyclomatic Complexity),用于评估一个程序的复杂度及其可测试性和可维护性。具体计算公式如下:
其中:
以下是具体步骤:
假设有以下伪代码:
if (condition1) {
// block A
} else {
// block B
}
// block C
while (condition2) {
// block D
}
控制流图如下:
环形复杂度计算:
[ CC = E - N + 2P = 6 - 4 + 2 = 4 ]
这表明该段代码的环形复杂度为4。
环形复杂度越高,意味着代码的复杂性和潜在的维护难度也越高。一般而言,环形复杂度最好保持在较低水平,以提高代码的可读性和可维护性。
其中合并的地方需要补充节点,因此 9 和 10 需要补充两个节点。注意开头和结尾也算节点。
因此,共计 14 条边 - 12 个节点 +2 = 4 ,选择 B