【问题标题】:Cyclomatic Complexity - Cobol圈复杂度 - Cobol
【发布时间】:2017-05-29 20:02:04
【问题描述】:

我必须为仅包含像这样的 EVALUATE 的 Cobol 程序计算圈复杂度:

EVALUATE x
   WHEN x<0 ...
   WHEN x=0 ...
   WHEN x between 1 and 10 ...
   WHEN OTHER ...`
END EVALUATE.`

我还必须为仅包含这样一个 IF 语句的 Cobol 程序计算圈复杂度:`

IF x<0 ...
ELSE IF x=0 ...
ELSE ...

计算CC的算法是什么? 感谢您的宝贵时间。

【问题讨论】:

  • 您选择的标签表示该算法“是根据通过源代码的不同可能路径的数量计算的”...

标签: if-statement cobol cyclomatic-complexity eval-when


【解决方案1】:

您可以在 Wikipedia 找到循环复杂度的算法。

您必须绘制流程图并计算边和路径...有了这些,有些人认为您应该能够进行此练习。

有两个有用的提示可以帮助你。

1) 在结构化程序(无 goto)中,CC 等于条件数加 1。您的示例程序在我看来是结构化的。

2) 如果您仔细考虑,您的 EVALUTE 语句和您的 IF 语句集合似乎是等效的代码。所以你应该期望计算出的 CC 值是相同的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-29
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多