Codex 实战教程:重构一个 Vite 应用
发布时间:2026-10-06 | 浏览:1
热门 Codex 搜索指南
如果你正在寻找 Codex 官网、下载方式或不同客户端,请先选择与你的搜索目的对应的页面:
同义搜索词会合并到同一页面,例如“codex官网”和“codex 官网”、“codex app”和“codex desktop”。这样页面能集中回答同一个搜索意图,也便于持续更新。
本教程模拟一个常见 Issue:Vite 应用首页的“项目列表”组件越来越难维护,需要拆分数据逻辑与展示逻辑,同时保证用户行为不变。
你将练习的不是某个框架技巧,而是一套可以迁移到真实仓库的 Codex 协作方式:
ProjectList.vue 同时负责请求、加载状态、筛选、排序和渲染。Issue 要求:
把请求和状态管理抽到 useProjects composable;
保持现有 DOM 文案、排序规则和空状态不变;
不增加依赖,不改变后端 API;
原有测试继续通过,并补充失败重试测试。
重构的核心验收不是“代码更漂亮”,而是外部行为保持稳定。先确认行为基线,再移动职责。
开始前记录仓库状态和现有验证命令:
如果基线已经失败,不要让 Codex默认把失败归因于本次修改。把现有失败的命令、错误摘要和是否允许处理写进任务说明。
推荐在独立分支或工作树进行练习:
第 1 步:只调查,不修改
进入仓库后启动 Codex,并给出第一轮提示:
不要只看它是否“理解了”。核对下面几个事实:
排序是在 API、组件还是计算属性中完成;
测试是否依赖具体 DOM 文案或调用次数;
是否有取消请求、竞态或组件卸载逻辑;
错误状态是否已经存在,只是没有重试入口。
如果回答遗漏关键行为,用具体文件或测试纠偏,不要让错误假设进入计划。
第 2 步:要求一个可审查的计划
用现有测试固定排序、空状态和加载行为;
新建 useProjects.ts ,迁移请求与状态但不接入页面;
接入 ProjectList.vue ,保持模板契约;
运行组件测试、全量测试和构建,审查 diff。
计划的价值是暴露风险和顺序,不是制造一份不能调整的长文档。
如果现有测试没有保护排序或空状态,先让 Codex补基线:
这一步能区分“重构导致的变化”和“原先理解错误”。测试应验证用户行为或稳定契约,避免锁死组件内部变量名。
第 4 步:抽取 composable
分步提示的好处是 diff 小、失败定位快。此时 composable 还没接入 UI,即使设计不合适也容易调整。
第 5 步:接入组件并实现重试
“抽取职责”和“新增行为”是两种风险。先完成等价重构,再增加错误重试,审查者可以分别判断结构变化与产品变化,回滚也更容易。
让 Codex运行验证,也要自己复核命令:
慢网下 loading 与按钮禁用状态;
错误后重试是否只发送一次请求;
空数据与失败状态是否容易混淆;
375px 与桌面宽度是否溢出;
浏览器控制台是否有警告或未处理 Promise。
第 7 步:用审查视角检查 diff
可以开启一个新的审查上下文,或使用当前版本支持的审查命令:
第 8 步:生成可用的 PR 摘要
重构前先固定外部行为,不把“看起来能跑”当基线;
调查、结构迁移和新增行为分开,降低每一步的不确定性;
提示词写清停止条件,遇到接口、依赖或范围变化先报告;
测试结果、构建结果和未验证项共同构成交付证据;
最终责任仍在审查者,Codex 的总结不能替代真实 diff。
OpenAI Prompting:Codex 工作流
OpenAI Developer commands: codex review
OpenAI Agent approvals & security
Simon Willison: How I use LLMs to help me write code
Addy Osmani: My LLM coding workflow going into 2026
最后校对:2026 年 7 月 22 日