一个常见陷阱:规定的是解决方案,而非问题
有一种失败模式值得单独拎出来说,因为它实在太容易掉进去了。当你坐下来写规格时,诱惑在于去描述你脑中已经想好的那个解决方案——"一个带标签页的侧边栏""一个弹出来的模态框""一张 Postgres 表"。但一份满是解决方案的规格,会悄悄锁定一些你还没资格去做的决定。
对比这两行:
Bad: Add a left sidebar with collapsible sections for each book status.
Good: Let me see my books grouped by status without losing the full list.
第一句已经选定了一个侧边栏、可折叠的分区,以及一种布局——而这一切都在还没人确认它们是不是正确的选择之前。第二句陈述的是要完成的活,让 AI(以及你)有自由去找到能满足它的最简单方案,而那也许只是三个筛选按钮。描述你想要的结果;让实现尽可能长久地保持可商量。解决方案在规格里改起来很便宜,在代码里改起来却很昂贵。