第一条实践路线

用 Codex 修复第一个小问题

做一个只改一处的小练习。先亲眼看到失败,再让 Codex 修复,最后由你检查结果。

官方资料已复核 · 原创练习已实测 ·

准备好这三样

  • Node.js 22 或更新版本,运行 node --version 可确认。
  • 能正常提交代码的 Git,运行 git --version 可确认。
  • 已登录、能使用的 Codex。练习包使用 Node 内置测试。
下载练习包

解压后得到 codex-first-change 文件夹。用 Codex 打开这个独立文件夹,并按包内的 TASK.md 操作。

从失败到通过

  1. 记录起点并复现问题

    在解压后的练习文件夹打开终端,记录初始代码,再运行测试。

    git init
    git add .
    git commit -m "Start Codex practice"
    npm test

    应看到 3 项通过、2 项失败。空字符串和纯空白字符串都产生了 Hello, !。

  2. 给 Codex 一份可验收的任务

    在这个练习目录启动 Codex,使用下面的任务说明。AGENTS.md 和测试文件会一起提供约束。

    请先阅读 AGENTS.md 和 greeting.test.js。只修改 greeting.js,让 greet('') 和纯空白字符串返回 Hello, builder!。正常姓名应继续去除两侧空白并保留 Unicode 和大小写。先运行 npm test 确认问题,修复后再次运行全部测试,查看 git diff 并解释根因。保留测试与其他文件。完成后简短报告前后结果。
  3. 由你检查修复是否成立

    Codex 完成后,在同一个练习目录运行下面三个命令。

    npm test
    git diff -- greeting.js
    git status --short

    验收时应看到 5 项测试通过,改动范围只有 greeting.js。确认去掉两侧空白后的姓名为空时,使用 builder。

实测记录

BuilderTube 已在独立目录用本地 Codex CLI 完成这份练习,并重新运行测试、核对文件与差异。

修改前
3 项通过,2 项失败
修改后
5 项通过,0 项失败
实际改动
greeting.js
测试文件
与原练习包逐字节一致
查看这次实测的代码差异
diff --git a/greeting.js b/greeting.js
index ece99cb..ff13dbc 100644
--- a/greeting.js
+++ b/greeting.js
@@ -1,3 +1,3 @@
 export function greet(name) {
-  return `Hello, ${name.trim()}!`;
+  return `Hello, ${name.trim() || 'builder'}!`;
 }

你交付的成果是一次小改动、前后测试结果和审查记录。练习范围限定为字符串输入。