编程开发高级每个模块 1-3 天

遗留代码重构

遗留代码最大的风险不是丑,而是没人知道改坏什么。正确顺序是先建立行为基线,再找接缝,最后小步替换;AI 用来读代码和生成测试,不用来一次性重写。

执行步骤

  1. 1

    画调用图与行为基线

    用 IDE 调用层级和日志画出入口、依赖和副作用。为关键路径补端到端测试或录制真实请求,先锁住当前行为,包括看似奇怪的逻辑。

  2. 2

    找接缝而不是重写

    优先在依赖边界、纯函数和接口处下手,把外部调用包一层适配器。每次只移动一个职责,保持可回滚;不要在同一次提交里既重构又改需求。

  3. 3

    特征测试与差异对比

    让 AI 根据现有代码生成特征测试,重点覆盖边界输入和异常路径。用旧实现作为 oracle 对比新实现的输出,差异必须逐条解释。

  4. 4

    灰度替换与回滚

    新旧实现并行运行,按流量比例切换,监控错误率、延迟和关键业务指标。保留一键回滚开关,确认稳定后再删除旧代码。

配套提示词

常见问题

没有测试的遗留代码怎么开始?

先从最稳定、最关键的入口录制真实请求作为回归样本,再补特征测试。不要一开始追求覆盖率。

AI 能直接重写整个模块吗?

可以生成候选,但不能直接上线。先让它解释旧代码的隐式规则,再分步替换并用新旧对比验证。

相关技能