SuperAPI AI 工具集

verify-quality-simplify

测试与质量

查看项目

更新于 10-16 09:30

技能介绍

用途:在代码可编译、可测试的前提下,系统性地降低复杂度,产出行为不变的简化版本,并附测试验证。适用于代码重复、过度抽象、函数过长、嵌套过深等场景;不适用于行为尚未稳定、测试无法保护重构、当前目标是补功能/修 bug/满足 spec,或简化会改变公共 API、数据结构与用户可见行为的情况。

核心理念:Chesterton's Fence(不理解为何存在就不要删)、三个相似代码行优于一次过早抽象、文件超过 500 行为简化候选、增量简化(每步一个改动并验证)。

主要能力与流程:Phase 1 识别目标:重复代码(同一逻辑出现 3 次以上、复制粘贴改少量参数)、过度抽象(使用场景少于 3 的抽象层、仅 1–2 个实现者的接口或策略模式)、过长函数(50 行以上、含 3 个以上抽象层级)、过深嵌套(3 层以上、可用 guard clause 消除)、死代码(无引用导出、未使用变量、不可达分支)、冗余注释。Phase 2 理解上下文:回答为什么存在、谁依赖、最近是否有改动,并判断是否影响其他模块、是否有测试覆盖;不确定的目标先标记跳过。Phase 3 增量简化:每次只改一个目标,改后跑测试全绿才继续。策略包括重复代码提取函数(仅第 3 次出现时)、过度抽象内联回调用处并删除抽象层、过长函数按职责拆分、过深嵌套用提前返回、死代码确认无引用后用 AskUserQuestion 确认后删除、冗余注释删除或改善命名。可用 grep -r "<symbol>" --include=".ts" --include=".tsx" --include="*.js" 确认引用。Phase 4 验证:全部测试通过、Lint 无新警告、行为不变(关键路径手动验证)、代码行数减少或持平。任一项不满足即回退最后一次改动。

输出与限制:输出简化后的代码与测试验证,可回到 verify-workflow-review 或 build-workflow-execute,并记录简化清单、验证结果、被跳过目标与结论。要求简化不引入新依赖,抽象后行数不得增加;测试失败、行为变化、删除不理解的代码等情况需立即回退。