2

我必须为仅包含像这样的 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的算法是什么?谢谢你的时间。

4

1 回答 1

1

您可以在Wikipedia上找到 Cyclomatic Complexity 的算法。

您将不得不绘制流程图并计算边缘和路径......这样,有些人认为您应该能够进行此练习。

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

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

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

于 2017-05-29T21:32:04.520 回答