Rav*_*hta 5 cyclomatic-complexity
while(m<n)
if(x>y) AND (a<b) then
a=a+1
y=y-1
end if
m=m+1
end while
Run Code Online (Sandbox Code Playgroud)
我正在计算上面伪代码的Cyclomatic Complexity,我用快捷方法得出结论
M =(决策点)+ 1
其中M是环状复杂性
我有答案3
这是真的吗?
首先,让我们确定每一个陈述.我在这里使用字母,但它可能是数字.
A while(m<n)
B,C if(x>y) AND (a<b) then
D a=a+1
E y=y-1
end if
F m=m+1
G end while
Run Code Online (Sandbox Code Playgroud)
end while
(G)作为退出点.现在我们可以绘制控制流图(CFG):
最后,以三种不同的方式计算Cyclomatic Complexity(M):
M = E-V + 2*K = 9-7 + 2*1 = 4
M = C + 1 = 3 + 1 = 4
M =区域(CFG)= 4
哪里:
E =边数
V =顶点数
K =图形组件的数量
C =条件/决策点的数量