循环复杂度


循环复杂度(Cyclomatic complexity)也称为条件复杂度或圈复杂度,是一种软件度量,是由老托马斯·J·麦凯布在1976年提出,用来表示程序的复杂度,其符号为VG或是M。循环复杂度由程序的源代码中量测线性独立路径的个数。此概念有些类似的量测文本复杂度的Flesch-Kincaid可读性测试 ,不过方法不完全相同。
循环复杂度是由程序的控制流图来计算:有向图的节点对应程序中个别的代码,而若一个程序运行后会立刻运行另一代码,会有边链接二代码对应的节点。圈复杂度可应用在程序的子进程、模块、方法或类别。