环路复杂度用来定量度量程序的逻辑复杂度。以McCabe方法来表示。
计算公式
1:V(G)=闭合区域的数目,由节点和边围成的封闭区域。这些封闭区域一定是不可再分的,包括周边的区域。
2:V(G)=二值判定节点个数+1
3:V(G)=边的数目-节点个数+2
环路复杂度越高,程序中的控制路径越复杂。
mccabe指出,典型的程序模块的环路复杂度为10。
名次解释:
1、节点:以标有编号的圆圈表示,表示基本的程序块,可以是一个单独的语句,也可以是多个顺序执行的语句块。
2、控制流(边):用带箭头的弧线表示,连接相关的两个节点。每个控制流可以标有名字(也可以不标),但必须终止于某一节点。
3、判定节点:带有分支的节点,其中程序中的复合条件要分解为简单条件,构成多个判定节点。
4、区域:控制流图中的一个概念,一个区域由一组节点以及相关连接节点的边(控制流)所共同构成。当对区域计数时,图形外的区域也应记为一个区域。