欢迎光临
我们一直在努力

【人工智能】TDD与SDD:AI编程时代最靠谱的两大范式

【人工智能】TDD与SDD:AI编程时代最靠谱的两大范式

TDD与SDD:AI编程时代最靠谱的两大范式

  • 【人工智能】TDD与SDD:AI编程时代最靠谱的两大范式
    • 1. 引言
    • 2. AI 写代码的变迁
    • 3. 什么是 TDD?
    • 4. 什么是 SDD?
    • 5. 如何实施 SDD
    • 6. 两者应该怎么选?
    • 7. 结语:AI 时代程序员的护城河

摘要:在 AI vibe coding 模式下,AI 写代码的能力越来越强,但随之而来的幻觉、结构混乱等问题也愈发突出。本文围绕 TDD(测试驱动开发)与 SDD(规格驱动开发)两大范式展开:TDD 通过先写测试、再写实现的方式,为 AI 写代码立下规矩,保证每一行代码的正确性;SDD 则强调编码前先定方案、定骨架,从全局把控系统结构,避免大型项目写着写着就跑偏。文章还给出了两者的选型建议——小而准选 TDD,大而全选 SDD,也可组合使用。最后指出,AI 时代程序员的真正护城河,正在从「敲代码的速度」转变为「定义规则、定义结构、定义对错、定义方向」的能力。

1. 引言

TDD 与 SDD,就是当前 AI vibe coding 模式下最靠谱、最不容易翻车的两大范式。

2. AI 写代码的变迁

讲方法论、讲范式、讲工程化的正规军时代已经到来。以前我们聊 AI 写代码,往往聊的是谁写的提示词更好,谁用的模型更贵,谁出代码更快。

3. 什么是 TDD?

TDD 是测试驱动开发的简称。虽然听起来比较高大上,但它的实质就是先写测试代码、再写实现。TDD 可以把「什么是对的代码实现」先定义清楚,定义清楚以后再去写代码实现。如果测试跑不通,那么代码重新回炉重造,直到代码能够跑通所有的测试。

在 AI 时代,TDD 绝对是一次降维打击。为什么呢?因为在 AI 时代,AI 写代码最容易产生幻觉,它会编、会糊弄,但 AI 并不知道什么样的代码是对的。如果你让 AI 直接去写代码,它可以帮你写得花里胡哨、逻辑通畅,但一跑全是坑。但是如果我们先把测试用例甩给 AI,告诉 AI:如果不让这些测试跑通,就不算编码完成。这个时候 AI 就瞬间老实了,它不敢瞎想,也不敢乱编了。

一句话总结:TDD 就是给 AI 写代码立规矩。你给 AI 不立规矩的时候,AI 就是一个野蛮的实习生;你给 AI 立了规矩以后,AI 就是标准化作业中的一条流水线。

4. 什么是 SDD?

SDD 是规格驱动开发(方案驱动开发)的简称。它的核心思想是:我们需要在编码之前先定好方案、定好骨架,然后再去填肉。你可以理解为,你需要先画一张工程图纸,然后再按照工程图纸进行施工。

以前我们让 AI 去实现一个功能,AI 写着写着就会结构混乱,模块之间耦合成一坨屎,你根本没有办法很好地维护它。而 SDD 规范驱动开发,正好可以治这个毛病。

5. 如何实施 SDD

先把整体的结构定下来,包括目录结构、数据结构,以及接口定义、函数签名等等。让模块之间的关系搞得清清楚楚,同时设计思路和约束条件也需要写得明明白白。最后再让 AI 按照这个结构,一块一块地去填代码。

TDD 测试驱动开发,只管结果;SDD 规范驱动开发,管的是全局。SDD 就是解决 AI 写代码写着写着就跑偏、就忘了的问题。尤其是大型复杂项目,需要前后端互动或者多模块之间的协作,SDD 就是解决大型系统开发的一个神器。

6. 两者应该怎么选?

小而准,选择 TDD 测试驱动开发;大而全,选择 SDD,复杂又不翻车。当然,也可以两者共同使用。TDD 保证代码每一行都是正确的、都是对的;SDD 保证了整个系统都是符合规范的,不会乱。

7. 结语:AI 时代程序员的护城河

AI 时代,AI 写代码的能力越来越强,我们反而不需要那种只会敲代码的人了。在 AI 时代,缺少的就是那种会定规则、会定结构、会定测试、甚至会定范式的人。所以,在 AI 时代,程序员的核心竞争力也在慢慢地改变。以前我们衡量程序员厉不厉害,就是看他敲代码有多快、是否熟悉各种库及 API。但现在的 AI 还不会主动去想这个结构(架构)到底合不合理,目前的测试用例是否可以达到全面覆盖场景的效果。

AI 负责执行、实施、干活,人负责去定义并且验收「什么才是正确的」。未来不会被淘汰的程序员,并不是敲代码最快的,而是会告诉 AI 该干什么、该怎么干、干到一个什么样的标准算结束、项目的结构是怎样的、项目的边界在哪里。AI 越强大,人的价值并不在于动手,而慢慢转变为定义。

定义规则、定义结构、定义对错、定义方向——这 4 个定义,才是 AI 时代我们程序员真正的护城河。

TDD 立规矩,SDD 定全局,AI 负责干活,我们人负责掌控。

赞(0)
未经允许不得转载:171主机测评 » 【人工智能】TDD与SDD:AI编程时代最靠谱的两大范式
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址