代码复杂度计算Skill

Skill

Sky-Cube fb8f547 1.3 KB Updated

File contents

代码复杂度计算Skill

适用场景

代码质量度量环节,量化代码复杂度,定位需要重构的高风险代码。

执行步骤

  1. 选工具:优先运行现有工具(lizard、radon、SonarQube、ESLint complexity 等);无工具时手工统计。
  2. 统计口径:圈复杂度 = 判定节点数 + 1(判定节点:if/for/while/case/&&/||/catch/三元)。
  3. 按阈值分级,输出 Top 清单。
  4. 对超标函数给重构建议(见下)。

判定阈值(默认,可按项目调整)

复杂度 判定
1-10 简单,风险低
11-20 中等,建议简化
21-50 复杂,高风险,必须重构
>50 极高风险,不可测试,拆分

重构建议(对应全局规范「超3层嵌套必须重构」)

  • 抽取方法:按职责拆成小函数,主函数只留编排。
  • 卫语句:提前 return 减少嵌套。
  • 策略/表驱动:多分支 if-else 改策略模式或查表。
  • 多态替换条件:同类分支用多态分发。

输出模板

## 复杂度统计
| 文件 | 函数 | 圈复杂度 | 判定 |
## Top 10 高风险清单(位置 + 建议拆法)

自检清单

  • 统计口径已说明(工具/手工)
  • 阈值与项目约定一致
  • 超标函数有具体重构建议

Sky-Cube/fullflow-dev-agent/tree/main/.claude/skills/complexity-metrics commit fb8f54785c

Frequently asked questions

npx skillmds@latest add sky-cube/skill-32