用途:在不改变代码外部行为的前提下,改进代码结构与可读性,属于渐进式演进而非推倒重写。适用于代码难懂难维护、函数或类过大、需处理代码异味、因结构问题难以加功能,或用户要求“清理/重构/改进这段代码”的场景。
核心原则:保持行为不变,只改“怎么写”;小步修改,每次改动后测试;每达一个安全状态即提交;测试是重构的前提,没有测试只是编辑;一次只做一件事,不把重构与功能变更混在一起。明确不宜重构的情况:稳定不再改动的代码、无测试的关键生产代码(先补测试)、工期紧张时、没有明确目的时。
主要能力:识别并修复常见代码异味,包括长方法(拆分为聚焦函数)、重复代码(提取公共逻辑)、过大的类或上帝对象(按单一职责拆分)、过长参数列表(引入参数对象或建造者)、特性依恋(把逻辑移到拥有数据的对象)、基本类型偏执(用领域类型如 Email、PhoneNumber)、魔法数字/字符串(改用命名常量)、嵌套条件(用卫语句早返回或 Result 类型)、死代码(直接删除)、不当亲密(改为“告知而非询问”)。还涉及提取方法、引入类型安全(联合类型、接口、明确的返回结构),以及用策略模式、责任链模式替代条件分支等设计模式做法。
使用方式:给出重构操作清单,如提取方法/类/接口、内联、上移/下移方法、重命名、引入参数对象、以多态取代条件、以常量取代魔法数字、分解与合并条件、以卫语句取代嵌套条件、引入空对象、以类或枚举取代类型码、以委托取代继承。流程为准备(确保测试、提交、建分支)、识别(定位异味、理解行为、制定计划)、重构(小步+测试+提交)、验证(测试通过、必要时手测、性能不劣化)、清理(更新注释与文档并最终提交)。附有代码质量、结构、类型安全、测试四类检查清单。
限制:资料未提供具体的安装命令、运行命令、依赖平台或收费信息;该技能以原则、模式与流程指导为主,实际效果取决于项目测试覆盖与工程实践。