最近我写了一个生成 Swagger 文档的 skill,其中两个关键词引起了我的注意:"唯一事实来源"(Single Source of Truth)和"完成的定义"(Definition of Done)。
这两个词都不是 AI 时代的发明,它们出自软件工程与敏捷开发的经典著作。这给了我一个重要启示:AI 时代的程序员,应该多去读一读软件工程方面的书——因为与 AI 高效协作所需要的词汇表,早就写在那里了。
1. 完成的定义(DoD):先定义终点,再让 AI 出发
要让 AI 帮你完成某个功能,必须先定义清楚"怎么才叫完成"。没有 DoD,AI 会自己决定什么时候停下来——改了几行代码就宣布"任务完成",而真正的工程问题根本没解决。把模糊的"做好它"变成明确的验收条件,AI 才能准确地替你干活。
2. 唯一事实来源(SSOT):代码必须是唯一的权威版本
你不能代码写一套、文档又跟代码对不上——AI 看到两个互相矛盾的信息源,直接就懵了。我的建议是:让代码成为唯一的事实来源。
但要让代码担得起这个角色,有一个前提:代码必须是规范的——架构设计清楚、注释详细、命名规范。这就跟第二节的观察闭环了:历史项目命名不规范会让 AI 理解偏颇,旧功能不删除会让 AI 产生误解。在 AI 时代,"代码可读性"的价值被成倍放大,因为你的代码多了一个极其勤奋、但毫无背景知识的读者。
夜雨聆风