3.2 六个维度深度对比
上一节我们看了光谱定位。现在把三种方法论拆成六个具体维度,逐一对比。
维度总览
维度 1:出发点——它们从哪里开始?
出发点
TDD
从实现层面出发:函数应该做什么?边界条件是什么? SDD
从行为层面出发:系统应该有哪些能力?API 长什么样? Vibe Coding
从意图层面出发:我想要一个什么功能? 实际影响:TDD 的起点是一个测试函数,SDD 的起点是一个规格文档,Vibe Coding 的起点是一句自然语言。
维度 2:精确度——定义有多清楚?
精确度
TDD:高
测试代码就是精确的定义。assert result == 5 就是 5,没有第二种理解。 SDD:中-高
规格用结构化语言描述,但有些业务规则需要额外说明。OpenAPI 定义了字段类型,但"什么算有效邮箱"可能要正则。 Vibe Coding:低
自然语言天然有歧义。"快速响应"是指 100ms 还是 1 秒?AI 自己猜。 实际影响:精确度越低,AI 自由发挥空间越大。前期可能更快,但后期修复歧义导致的误解代价很高。
维度 3:人类角色——你做什么?
人类角色
TDD
代码编写者 + 测试设计者:写测试、写实现、重构代码。 SDD
规格编写者 + 系统设计者:写规格、审查生成物、管理工具链。 Vibe Coding
意图表达者 + AI 编排者:描述需求、判断结果、迭代调整。 实际影响:SDD 和 Vibe Coding 都在减少"手写代码"的量,但 SDD 要求你写精确的规格,Vibe Coding 只要求你描述想法。
维度 4:AI 角色——AI 做什么?
AI 角色
TDD:辅助
AI 可以帮忙写实现代码、生成测试用例、优化重构。但人类主导。 SDD:约束下的生成器
AI 在规格约束下生成代码、测试、文档。输入精确,输出也精确。 Vibe Coding:主要代码生成者
AI 主导代码生成,人类几乎不审查。自由度最高,风险也最大。 实际影响:AI 在 TDD 中是助手,在 SDD 中是执行者,在 Vibe Coding 中是主导者。责任逐渐从人转移到 AI。
维度 5:开发速度——从想法到可用产品多快?
开发速度
TDD:中等
前期慢(写测试 + 写代码),但后期快(bug 少,重构安全)。长期投资。 SDD:先慢后快
前期慢(写规格),但进入开发后快(并行开发、自动生成、减少返工)。 Vibe Coding:极快
前期极快(AI 生成),但后期变慢(80/20 法则、三月之墙)。短期投资。 实际影响:Vibe Coding 是"快钱"(短期收益高),TDD/SDD 是"长线投资"(长期收益高)。选择取决于项目周期。
维度 6:风险类型——最怕什么?
风险类型
TDD:做对了错误的事
代码完美但产品方向错误。测试覆盖率高 ≠ 构建了正确的产品。 SDD:规格过时
规格写好后需求变了,规格没跟上更新,代码和规格脱节。 Vibe Coding:技术债爆炸
代码能跑但不可维护。三月之墙后,团队无法理解自己的系统。 实际影响:TDD 的风险是"方向错误",SDD 的风险是"规格腐化",Vibe Coding 的风险是"代码腐烂"。每种风险都有对应的缓解策略。
六维度总结
| 维度 | TDD | SDD | Vibe Coding |
|---|---|---|---|
| 出发点 | 实现层面(函数/单元) | 行为层面(功能/契约) | 意图层面(自然语言) |
| 精确度 | 高(代码级) | 中-高(规格级) | 低(模糊意图) |
| 人类角色 | 代码编写者 + 测试设计者 | 规格编写者 + 系统设计者 | 意图表达者 + AI 编排者 |
| AI 角色 | 辅助 | 约束下的生成器 | 主要代码生成者 |
| 开发速度 | 前期慢,长期快 | 先慢后快 | 极快,后期变慢 |
| 核心风险 | 做对了错误的事 | 规格过时 | 技术债爆炸 |
📌 本节核心要点
| 维度 | TDD | SDD | Vibe Coding |
|---|---|---|---|
| 出发点 | 实现层面(函数) | 行为层面(契约) | 意图层面(自然语言) |
| 精确度 | 高(代码级) | 中-高(规格级) | 低(模糊意图) |
| 人类角色 | 代码编写者 | 规格编写者 | 意图表达者 |
| AI 角色 | 辅助 | 约束下的生成器 | 主要代码生成者 |
| 开发速度 | 前期慢,长期快 | 先慢后快 | 极快,后期变慢 |
| 核心风险 | 做对了错误的事 | 规格过时 | 技术债爆炸 |
知识检查
问题 1:在"精确度"维度上,三种方法论有什么根本差异?为什么精确度对 AI 特别重要?
查看答案
- TDD(高):测试代码就是精确的定义,assert result == 5 就是 5
- SDD(中-高):规格用结构化语言描述,但有些业务规则需要额外说明
- Vibe Coding(低):自然语言天然有歧义,"快速响应"是 100ms 还是 1 秒?AI 自己猜
精确度对 AI 特别重要:输入越精确,AI 输出越可靠。模糊输入 → AI 自由发挥 → 可能产生大量微妙错误。
问题 2:三种方法论最担心的"风险"分别是什么?
查看答案
- TDD 的风险:做对了错误的事——代码完美但产品方向错误。测试覆盖率高 ≠ 构建了正确的产品。
- SDD 的风险:规格过时——需求变了但规格没更新,代码和规格脱节。
- Vibe Coding 的风险:技术债爆炸——代码能跑但不可维护,三月之后团队无法理解自己的系统。
问题 3:为什么说 Vibe Coding 是"快钱",TDD/SDD 是"长线投资"?
查看答案
- Vibe Coding(快钱):前期极快(AI 生成),但后期减速(80/20 法则、技术债积累),短期收益高
- TDD/SDD(长线投资):前期投入(写测试/规格),但后期收益大(bug 少、并行开发、重构安全),长期维护成本低
选择取决于项目周期:短期项目用 Vibe Coding,长期项目用 TDD/SDD。
下一节预告
六维度对比告诉你"差在哪里",但实际项目中怎么用?下一节讲三种方法论的融合——探索 → 规格 → 验证。