嵌套IF的循环复杂性

时间:2016-09-11 22:13:02

标签: metrics cyclomatic-complexity

在检查多个描述/博客/教程时,我仍然无法获得如何计算嵌套IF的McCabe指标。例如,对于以下伪代码。

IF (CHECK_A() && CHECK_B() && CHECK_C()) {

    DO_SOMETHING()
}

此代码也可以编写如下,代表相同的逻辑。

IF (CHECK_A()) {

    IF (CHECK_B()) {

        IF (CHECK_C()) {

            DO_SOMETHING()

        }

    }

}

我假设这导致以下控制流程图:http://i.stack.imgur.com/C6X28.png

现在,通过V(G) = e − n + 2p计算圈复杂度,而e是边缘数,n是节点数,p是节点数#有退出点。查看图表,e = 7n = 5p = 1,因此V(G) = 7 − 5 + 2 * 1 = 4。有人能告诉我这是否是正确的计算方法?

0 个答案:

没有答案