具有多个出口点的代码的循环复杂性

Ama*_*ppa 2 cyclomatic-complexity

如何找到具有多个出口点的函数的圈复杂度?维基页面显示p-s + 2,其中p是决策点的数量,s是退出点的数量.

但是,不应该有更多的出口点增加圈复杂度,因为它可能导致更独立的路径?

干杯,

祖阿曼

Mic*_*ray 5

CC测量线性独立路径.退出点不会添加到代码的路径,它们会终止路径,从而减少CC(或者至少,它们肯定不会增加 CC).

换句话说,添加退出点的唯一方法是添加更多路径(IF等条件).否则,"裸"出口点之后的代码是无法访问的,因此条件会增加复杂性,而不是退出点.