用途:在不改变外部可观察行为的前提下改善代码内部结构,优先提升可读性,通过小的、可验证的变换逐步完成,每一步都由安全网(测试、工具、类型)保护,并与行为变更分开提交。
主要能力:执行针对特定文件或模块的重构(提取、移动、重命名、分解、模式对齐);在开发功能前做预备性重构;遗留(brownfield)代码救援,先找接缝并写特征化测试再重构;重构目标选择与优先级排序(坏味道、SATD、热点=变更频率×复杂度);审计当前代码是否适合重构(覆盖率广度、变异强度、脆弱性)。
使用方式:典型流程为先诊断安全网并区分绿地与棕地;棕地需先找接缝、为当前行为编写特征化/黄金主测试并单独提交;再按热点排序选定目标,规划一系列命名的原子变换;每次只应用一个变换(优先用 IDE 重命名、codemod、ast-grep 等确定性引擎),然后原样重跑现有测试,通过后仅提交 refactor 类型的提交;失败则用 Mikado 方法记录前置条件、只撤销本次变换的编辑并优先处理前置条件。最终给出前后指标变化与可读性判断。独立运行时报告写在 .agents/results/refactor/*.md。
适用场景:特定文件/模块的靶向重构、技术债或热点、功能开发前的预备重构、遗留代码改造、重构优先级规划。
限制:不用于修复缺陷或失败行为(应使用 oma-debug);不用于安全/性能/无障碍审查(oma-qa);不用于系统设计、模块边界、ADR 或约定变更(oma-architecture);不用于数据库模式设计或迁移机制(oma-db);不用于提交拆分/暂存机制(oma-scm);性能优化本身不在范围内。必须保持行为不变,测试冻结时不能改生产代码,反之亦然;发现行为缺陷应记录并转给 oma-debug,不得混入重构提交。缺少验证路径时应先构建安全网而非重构。