用途:在不改变代码外部行为的前提下改善结构与可读性,属于渐进式演进而非重写。适用于代码难懂难维护、函数或类过大、存在代码坏味道、因结构问题难以加功能,或用户要求“清理/重构/改进这段代码”时。
主要能力:识别并修复常见坏味道,包括长函数、重复代码、上帝类、过长参数列表、依恋情结、基本类型偏执、魔法数字/字符串、嵌套条件、死代码、不当亲密关系;提供提取方法、提取类/接口、内联、上移/下移方法、重命名、引入参数对象、以多态替换条件、以常量替换魔法数字、分解/合并条件、以卫语句替换嵌套条件、引入空对象、以类/枚举替换类型码、以委托替换继承等操作;并演示引入类型安全与策略模式、责任链模式。
使用方式:遵循黄金法则——保持行为不变、小步修改、每步测试、提交前后各一次、重构与功能变更分离、一次只做一件事。流程为准备(确保有测试、提交、建分支)、识别坏味道、小步重构并跑测试、验证、清理文档。
限制:不要重构稳定不再改动的代码、无测试的关键生产代码(应先补测试)、紧迫截止期内的代码,或没有明确目的时。资料未提供安装命令、收费、价格与平台信息。