考虑这个控制流图。我们需要找到完全独立的线性路径。当我们使用"V(g(=e-n+2=7-6+2=3">
但如果我手动计数,我得到了4个独立的线性路径。路径为:
"0=>1=>3=>5"、"0=>1=>3=>4=>5","0=>2=>3=>5"one_answers"0=>2=>3=>4=>5">
为什么这两个值不同?
此处的控制流程图][1]
[1]:https://i.stack.imgur.com/vRBmD.png
要计算McCabe复杂度,需要找到边和节点。第一个公式是:
v(F) = edge - node + 2
第二个公式是:
v(F) = # of decision nodes + 2
请注意,决策节点的#也被命名为谓词节点。
现在,图形中有6个节点(圆(和7条边(箭头(。
因此,McCabe复杂性将为=v(F) = 7 - 6 + 2 = 3
。
第二种解决方法是:
有两个谓词节点(决策节点(0
和3
,所以v(F) = 2 + 1 = 3
。