真实代码库工程能力高级官方难度:Advanced1h
原题:Refactor your codebase

用 Codex 重构代码库

先限定行为不变,再让 Codex 分批整理结构、命名和重复逻辑。

官方概览

当代码库积累了未使用代码、重复逻辑、过时抽象、超大文件或遗留模式,使每次改动都变得更昂贵时,就应该考虑通过重构降低工程债。

重构的目标是改善现有系统的形状,而不是把它变成一次技术栈迁移。Codex 可以先映射混乱区域,再用小而可 review 的批次落地清理。

  • 删除未使用路径、过时 helper、旧 flag 和不再需要的兼容层。
  • 通过抽取 helper、拆分组件,或把副作用移动到更清晰的边界来缩小嘈杂模块。
  • 用仓库当前约定替换遗留模式,例如新的框架原语、更清楚的类型、更简单的状态流或标准库工具。
  • 保持公共行为稳定,同时让下一次修改更便宜。

使用方式

  • 先让 Codex 在编辑前映射目标区域:嘈杂模块、重复逻辑、未使用代码、测试、公共契约,以及仓库已经淘汰的旧模式。
  • 一次只选择一个清理主题:删除未使用代码、简化控制流、现代化过时模式,或把大文件拆成更小且有归属的部分。
  • 在 Codex 修改文件前,要求它说明当前行为、想做的结构改进,以及能够证明行为稳定的最小检查。
  • 每个批次后 review 并运行最小有用检查,不要把全部清理塞进一个大 diff。
  • 除非完成清理必须,否则把技术栈变化、依赖迁移和架构调整拆成单独任务。

使用 ExecPlans

代码现代化 cookbook 提到 ExecPlans:这类文档可以帮助 Codex 保持对清理工作的整体视图,写清预期终态,并在每个批次后记录验证结果。

当重构跨越多个模块或多个会话时,它们尤其有用。可以用它记录删除项、模式更新、必须保持稳定的契约,以及仍然延期的工作。

把可重复模式沉淀为 Skills

当同样的清理规则会在多个仓库、服务或团队中反复出现时,Skills 很有用。

可以在有框架专用 skill 时使用它们,在高风险清理旁边加入安全和 CI skill;如果你已经有一套可靠的未使用代码删除、模块抽取或遗留模式现代化清单,也可以把它变成团队 skill。

官方 Starter Prompt 中文翻译

请现代化并重构这个代码库。

要求:
- 除非我明确要求功能变化,否则保持行为不变。
- 先识别拖慢修改速度的死代码、重复路径、超大模块、过时抽象和遗留模式。
- 对每个建议的重构批次,说明当前行为、结构改进,以及证明行为稳定的验证检查。
- 把工作拆成小而可 review 的重构批次,例如删除死代码、简化控制流、抽取 helper,或用仓库当前约定替换过时模式。
- 除非重构必须,否则保持公共 API 稳定。
- 明确指出任何应该拆成单独迁移任务的框架迁移、依赖升级、API 变化或架构调整。
- 如果工作范围很广,先提出实施前应该创建的文档、规格和等价性检查。

请先提出计划。