圈复杂度 / 环形复杂度(Cyclomatic Complexity):一种衡量程序控制流程复杂程度的代码度量指标,通常等于代码中独立路径(independent paths)的数量。一般来说,数值越高,代码越难测试、越难维护,也更容易隐藏缺陷。(该术语主要用于软件工程与静态分析领域。)
/ˌsaɪkloʊˈmætɪk kəmˈplɛksɪti/
The cyclomatic complexity of this function is too high.
这个函数的圈复杂度太高了。
When cyclomatic complexity rises, teams often need more tests and refactoring to keep the codebase maintainable.
当圈复杂度上升时,团队往往需要更多测试与重构来保持代码库的可维护性。
Cyclomatic一词由软件工程师 Thomas J. McCabe 在 1976 年提出的复杂度度量中推广使用,词形上与“cycle(循环/回路)”相关,指向控制流图中的回路结构;complexity源自拉丁语 complexus(“交织在一起”),表示结构越交织越复杂。该术语整体强调:通过控制流路径与分支结构来量化“复杂”。