用途:让可运行的代码更清晰,但不改变其行为。清晰优先于取巧,行为被冻结,测试套件即契约,前后端同样适用。目标为 $ARGUMENTS(文件、目录或模块;留空则使用未暂存的改动)。
主要能力与护栏:遵循切斯特顿栅栏原则,删除任何内容前先解释其存在原因,无法解释则保留并标记;绝不删除不理解的守卫、检查或分支。行为冻结,不做功能改动,前后测试套件都须为绿;若必须改变某个测试的含义,说明已越界。清晰优先于取巧,应让初级开发者无需解码即可读懂,偏好无聊且显而易见。
工作流:1)基线:确定目标文件(留空则用未暂存改动),运行测试套件,若为红则停止,不简化已损坏的代码;若目标无测试则标记,说明无测试时简化不可验证(可提供 /fortify)。2)审计:按影响从高到低列出发现,如深层嵌套(超过 2 层)改为守卫子句或提前返回、死代码与未用参数及不可达分支删除(经切斯特顿栅栏)、重复逻辑提取为一个具名辅助函数、取巧单行与密集三元展开为可读形式、浅层直通包装内联(/codebase-design 的删除测试)、推测性灵活性或从未使用的配置移除、不清晰命名与基本类型偏执按意图重命名。呈现审计结果并询问要应用哪些项,每项作为选项列出,“全部项目”放首位并标记(推荐);可用时使用 AskUserQuestion(多选),否则用编号清单。3)应用:一次只做一个改动,每项获批后做单一改动、运行测试须保持绿,若变红则回滚该改动并标记为受阻;绝不批量处理,使用不可变编辑,不引入新的可变状态。4)报告:输出 Simplify Report,包含已应用、跳过或受阻、结果(如测试 42 通过 0 失败,行为未变)。
与相邻技能的关系:当简化实为接口问题时,使用 /codebase-design 的词汇(删除测试、浅模块);拆分巨型函数或补充覆盖率用 /fortify(它会改变结构并添加测试,本技能只移除复杂度);跨模块重构用 /architecture-audit。
规则:绝不改变外部行为,简化仅限内部;每次删除都须通过切斯特顿栅栏测试,否则标记而非删除;除非用户选择加入,否则跳过没有测试基础设施的文件。