
真实代码库工程能力高级官方难度: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 变化或架构调整。 - 如果工作范围很广,先提出实施前应该创建的文档、规格和等价性检查。 请先提出计划。