计算循环复杂度[伪代码]

时间:2011-07-13 23:52:12

标签: pseudocode cyclomatic-complexity

以下伪代码的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?

1 个答案:

答案 0 :(得分:2)

没有。主流+ 3 x'If's = 4

来自wiki

  

一段源代码的圈复杂度是计数   通过源代码的线性独立路径的数量。对于   例如,如果源代码不包含IF等决策点   语句或FOR循环,复杂性将是1,因为有   通过代码只有一条路径。

     

如果代码只有一个IF   包含单个条件的语句将有两个路径   通过代码,IF语句被评估为TRUE的一条路径   以及将IF语句评估为FALSE的一条路径。