用途:对现有代码做保持行为不变的重构,解决局部命名、可读性、重复或结构问题,使代码更易读、更安全修改、更易测试。
主要能力:保持默认行为不变(公共 API、副作用、错误行为与消息、性能特征、可观察时序假设、边界情况、数据形状);优先最小有用改动而非大重写;先改命名再加注释或抽象;保留领域语言,不把业务规则藏在通用辅助函数后;仅当重复代码代表同一概念且有相同变更原因时才去重;避免新模式、依赖、格式抖动和模块搬移,除非明显降低真实复杂度。
工作流:先理解代码目的、公共接口、输入输出、副作用、不变量、框架约束与现有测试;仅要求审查时只报告不编辑。分类工作为局部清理、行为保持重构,或仅在允许行为变化时做修复加清理;重设计默认超出范围。改进包括重命名不清标识符、为魔法值提取常量、提取有领域意义的小助手、用守卫子句扁平化嵌套、分离解析/验证/业务规则/持久化/格式化/编排与副作用、改善错误处理一致性而不削弱现有错误。编辑时限定在请求代码路径,一次做一个逻辑改进,不用聪明代码替代清晰代码。验证时运行最相关的现有测试或检查,无法运行时说明原因,并复查命名表意、函数聚焦、抽象层级一致、注释准确、副作用可见。
限制:若缺少或测试薄弱且重构有风险,应先改进现有测试或添加聚焦的特征测试作为行为保持网,再深入改结构;对无测试网可依靠的遗留代码,先应用安全增量编码再回到本方法。若安全路径需要重设计、依赖变更或超出请求的行为变化,应停止并向用户报告选项。不要引用或重建本技能所提炼书籍的原文。