重构不是“顺手改好看”。它的目标是在不改变外部行为的前提下,让代码更容易理解、测试或扩展。让 Codex 做重构时,边界必须非常清楚。
先说明不改变什么
请重构这段代码,但保持外部行为不变。
不要改接口路径、返回结构、数据库字段、错误码和权限判断。
如果你认为必须改变行为,请先停下来说明原因。这句话能防止 Codex 把重构做成功能改造。
重构前先建立保护
如果项目有测试:
重构前先运行相关测试,记录当前状态。
如果没有测试,请先指出哪些行为最需要手动检查。重构后的第一件事是重新运行同一组测试。
适合 Codex 的重构类型
- 提取重复逻辑
- 拆分过长函数
- 重命名含义不清的变量
- 移除无用分支
- 把散落的常量集中到已有配置位置
不建议一开始就让 Codex 做跨模块架构重写。那类任务需要先写设计方案。
推荐提示词
请重构 <文件/函数>。
目标:降低重复,提升可读性。
约束:
- 行为不变;
- 不新增依赖;
- 不改公开接口;
- 每一步改动都保持测试可运行。
请先给出重构计划,不要直接修改。让 Codex 控制改动范围
可以要求它分阶段:
先只完成第一阶段重构,控制在 1-2 个文件。
完成后运行测试并停下来总结,不要继续第二阶段。这比一次性大改更容易 review。
检查重构是否安全
重构后运行:
git diff重点看:
- 有没有改业务条件
- 有没有改错误处理
- 有没有改默认值
- 有没有删掉看似无用但实际有副作用的代码
常见坑
不要把“重构”和“顺便修 bug”混在一起。如果发现 bug,先记录,再决定是否另开任务。
不要让 Codex 为了抽象而抽象。新抽象必须减少真实复杂度。
不要忽略性能路径。循环、缓存、数据库查询相关重构要格外小心。
官方来源
- https://developers.openai.com/codex/learn/best-practices
- https://developers.openai.com/codex/quickstart