SuperAPI AI 工具集

refactoring-patterns

编程与开发

查看项目

更新于 10-16 06:25

技能介绍

用途:该技能用于指导代码重构,即在不改变可观察行为的前提下调整代码结构,使代码更易理解、更易修改、更少隐藏缺陷。适用于提取方法、内联变量、简化复杂条件、消除重复、拆分大类等场景。

主要能力:提供代码坏味道分类与对应重构手法的映射,例如长方法对应 Extract Method、大类对应 Extract Class、长参数列表对应 Introduce Parameter Object、重复代码对应 Extract Method/Pull Up Method、随新分支增长的 switch 对应 Replace Conditional with Polymorphism、基本类型偏执对应 Replace with Value Object、特性依恋对应 Move Method 等。技能还给出提取方法、以多态替换条件、引入参数对象、用命名常量替换魔法数字、分解条件、提取类、以查询替换临时变量等常见任务的前后对比示例。

使用方式:当用户要求提取方法或函数、简化过长 if/else 或 switch、减少参数、替换魔法数字、拆分大类、消除跨文件重复、进行不改变行为的系统性改进时触发。核心原则包括:小步前进并配合测试,每步后验证测试通过;保持可观察行为不变,返回值、副作用与抛出的错误必须一致;一次只做一种具名重构;先重构再加功能;以代码坏味道作为重构信号。若缺少测试,应先编写刻画当前行为的特征测试。

适用场景:日常代码整理、遗留代码改善、重复逻辑合并、复杂条件可读性提升。

限制:不适用于性能优化,重构关注可读性而非速度;也不适用于改变系统边界的架构决策。常见错误包括无测试重构、把重构与功能改动混在同一提交、过度提取微小函数、对稳定不变的 switch 强行使用多态、一次性大规模重命名、用查找替换代替 IDE 重命名。参考资料 references/code-smells.md 收录 15 种以上坏味道的检测标准与推荐重构。首次激活时会检查配套技能,缺失时可用 npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name> 安装。