99% 代码都让 AI 写了:我用 Codex 搓了个 node-doctest

1 阅读4分钟

我之前学习rust的时候发现rust的doctest真的很好用,直接在doc里面写test测试,可以直接运行测试还可以生成对应的文档,对于纯函数来说不用另外写测试,测试用例也是展示用法的表现。作为一个前端切图仔,我就去js的社区找,结果没有找到,只有几个已经停止维护的类似的项目。

最近一堆人在聊 Codex吊打claude code,而且现在codex还有一定的免费额度,我正好用codex的5.3-codex免费额度实测了一把生成一个jsdoctest的项目,项目写完免费额度也没用完。

之前我常用的是 Claude Code、Qoder、Antigravity,这次专门拿 Codex 做了一个完整的小工具仓库:node-doctest。而且我没有进行任何的额外配置,没有mpc没有skills配置。我感觉codex比 Claude Code和Antigravity都强上不少,或许是我对Claude Code和Antigravity的配置和学习不足,但是在简单配置或者说是0配置下codex比Claude Code强上不少尤其是它的xhight模式,基本上就会一直进行自测直到完成,不过有时候也会钻牛角尖,一直在用同样的方案一直尝试也搞不定。

这个仓库里大概 99% 的代码是 AI 生成。说是99%,其实核心代码全都是ai生成的,我可能稍微改过几个字。

作为一个切图仔平常基本不写nodejs,很多实现如果让我自己从 0 写,估计得查资料查一周才敢下手,直接一句实现一个类似resut的doctest的nodejs的dotest,Codex 直接把框架和关键逻辑都写好了。感觉现对于程序员来说在自己不熟悉的领域(会一点懂得不多)提效非常明显,省去了大量查询资料和学习时间。但是对于我天天写react页面来说,生成的react页面代码提效没那么多(还是比手写快不少)。

问题

对于ai生成代码,如果太多了,我就不想去读了,这次第一版生成的代码只有400行,我挨个全看了,但是我用其他仓库安装后测试发现报错,然后我让codex改下,结果代码直接膨胀到1200行,本来就多是我没那么熟悉的nodejs代码(页面切图仔),看着一大坨代码头疼,索性我直接不看了,测试过了就发布npm包了。现在在公司写页面也是这样了,有时候生成的代码太多了,测试功能都正常就不想细看了。

下面是ai生成的简介


这个仓库是干嘛的?

node-doctest 是一个轻量级 Node.js doctest 运行器。
你可以直接在 JSDoc 里写 @test 代码块,然后一条命令跑测试。

支持文件类型:

  • .ts .mts .cts .tsx
  • .js .mjs .cjs .jsx

核心思路是:

  • 扫描源码里的 JSDoc 注释
  • 找出带 @test 的 fenced code block
  • 提取并执行测试代码
  • 输出每个 doctest 的通过/失败位置

怎么用?

仓库地址:

安装:

npm install --save-dev node-doctest

运行:

npx node-doctest

指定目录/文件:

node-doctest tests node-doctest src/index.ts tests/ts


doctest 写法示例

在函数注释里写:

/** * 两数相加 * @test * ``` * assert.strictEqual(add(1, 3), 4); * ``` */ export function add(a: number, b: number) { return a + b; }

我本地跑出来的结果类似这样:

PASS tests/js/plus.js:4 PASS tests/jsx/add.jsx:4 PASS tests/ts/math.ts:6 PASS tests/ts/math.ts:16 PASS tests/ts/math.ts:31 PASS tests/ts/mutl.ts:4 PASS tests/tsx/add.tsx:4 Doctest result: ok. 7 passed; 0 failed; 7 total.


这次 Vibe Coding 的真实感受(也想请教大家)

我一直在摸索所谓的 vibe coding,但还没找到特别顺手的“工业化节奏”。

我目前的模式还是:

  1. 给 AI 一小段需求
  2. 让 AI 写代码 + 自测
  3. 我再手动测一遍
  4. 有问题继续补 prompt 迭代

能做出东西,但和网上那种“一次 prompt 直接出完整需求实现”的状态,还是有差距。
这次做这个项目也有同样感受,所以真心想请教评论区大佬:你们现在稳定可复用的 vibe coding 工作流是怎样的?


最后,求一波反馈 🙏

如果你也对这类 doctest 工具感兴趣,欢迎:

  • 用一下这个仓库
  • 提 issue(功能建议 / bug / 体验问题都行)
  • 顺手点个 Star 支持一下

项目地址再放一次:
github.com/sidely-zzx/…