以下伪代码的Cyclomatic Complexity为“4”。
Read A
Read B
IF A > 0 THEN
IF B = 0 THEN
Print “No values”
ELSE
Print B
IF A > 21 THEN
Print A
ENDIF
ENDIF
ENDIF
我们如何计算? 我听说这是条件+ 1?我们算那些陈述吗?我很困惑。
编辑: 案例2: 如果我们有以下内容怎么办?
IF (x < y)
statment 1
IF (x < z)
statemnt 2
Cyclomatic的复杂性是什么? 2?还是3?
答案 0 :(得分:2)
没有。主流+ 3 x'If
's = 4
来自wiki:
一段源代码的圈复杂度是计数 通过源代码的线性独立路径的数量。对于 例如,如果源代码不包含IF等决策点 语句或FOR循环,复杂性将是1,因为有 通过代码只有一条路径。
如果代码只有一个IF 包含单个条件的语句将有两个路径 通过代码,IF语句被评估为TRUE的一条路径 以及将IF语句评估为FALSE的一条路径。