我必须为仅包含像这样的 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的算法是什么?谢谢你的时间。
我必须为仅包含像这样的 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的算法是什么?谢谢你的时间。
您可以在Wikipedia上找到 Cyclomatic Complexity 的算法。
您将不得不绘制流程图并计算边缘和路径......这样,有些人认为您应该能够进行此练习。
有两个有用的提示可以帮助你。
1)在结构化程序(无 gotos)中,CC 结果等于条件数加 1。您的示例程序在我看来是结构化的。
2)如果您仔细考虑一下,您的 EVALUTE 语句和您的 IF 语句集合似乎是等效的代码。因此,您应该期望计算出的 CC 值相同。