用途:对代码库进行复杂度度量与报告,帮助识别难维护、难测试的函数与文件,并给出可执行的重构建议。
主要能力:计算圈复杂度、认知复杂度、物理行/源码行/注释行、Halstead 指标、可维护性指数(0-100)、最大嵌套深度;按函数报告复杂度分数、参数数量、行数、嵌套深度、返回点数量与复杂度评级(低/中/高/极高);按文件汇总总复杂度、函数数量、平均复杂度、最复杂函数与重复代码检测。报告含项目总体摘要、最复杂函数 Top 10、复杂度分布与行业标准对比。
复杂度阈值:圈复杂度 1-10 良好、11-20 需审查、21-50 建议重构、50+ 必须重构;函数长度 1-20 行良好、21-50 可接受、51-100 偏长、100+ 必须重构;嵌套 1-2 层良好、3-4 层可接受、5+ 层过深;参数 0-3 良好、4-5 可接受、6+ 建议改用参数对象。
使用方式:以技能调用形式运行,例如 @complexity-analyzer、@complexity-analyzer src/、@complexity-analyzer UserService.js,并支持 --threshold 10、--detailed、--export-json。报告按固定格式输出摘要与高复杂度函数明细。
适用场景:提交前审查热点代码、重构优先级排序、持续跟踪复杂度趋势,可与 ESLint、ts-complexity(JavaScript/TypeScript)、radon、mccabe、pylint(Python)、Checkstyle、PMD、JaCoCo(Java)、gocyclo、gocognit(Go)、flog、reek(Ruby)等工具配合。
限制:具体实现、所支持语言范围、安装方式、运行环境与收费信息暂未提供;部分能力(如复杂度分布图)标注为“如可能”,不保证输出。复杂度阈值与建议为通用经验值,需结合业务逻辑与测试覆盖率判断。