Skip to content

第 14 章 验证与调试:不会检查,就不算做完

AI 说"完成了",不等于完成了。它是真诚的,但真诚和正确是两回事。所以每次交付,按这个金字塔查一遍,从底往上:能跑吗(起码不报错)→ 功能对吗(按需求逐条过)→ 边界情况呢(空输入、连点两次、断网、超长文本)→ 真实用户会遇到什么(换台设备、换个浏览器试试)。大多数翻车,翻在第三层——正常路径谁都会做对,边界才见功夫。

出错了,先别慌,报错信息是礼物。一条报错通常包含三样:哪个文件第几行、什么类型的错、一句人话描述。你甚至不用全看懂——把报错原样完整地贴给 AI,比你转述"它好像坏了"有用十倍。日志(Logs)同理:本地看终端,线上看 Vercel 的 Functions 日志和 Supabase 的日志面板——线上出问题时,答案几乎都躺在日志里。而程序员用了五十年的最土也最有效的探照灯,叫 console.log(Python 里是 print):在可疑的地方打一盏灯,把变量的值打出来看,猜测立刻变成证据。

两个高级但救命的习惯。一是最小复现:想办法把 bug 关进最小的笼子——"只要输入是空的,点提交就崩"——定位到这一步,问题就解决了八成。二是换个会话重来:AI 在一条错误假设上狂奔太久时,别在原对话里纠缠,开个新会话,把问题重新描述一遍,常常瞬间解开。(实在不行,睡一觉。这不是玩笑,是工程实践。)

关键领悟

调试的本质是把猜测变成证据。一次只改一个变量,你就是科学家。

试一试

下次报错,先自己读一遍最后十行,猜一个原因,再贴给 AI——对答案。猜中率会一周比一周高。

由 Charles Tao 与 Claude 协作写成——这本身就是这套书讲的工作方式。 · 许可