Skip to content

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 的风险是"代码腐烂"。每种风险都有对应的缓解策略。

六维度总结

维度TDDSDDVibe Coding
出发点实现层面(函数/单元)行为层面(功能/契约)意图层面(自然语言)
精确度高(代码级)中-高(规格级)低(模糊意图)
人类角色代码编写者 + 测试设计者规格编写者 + 系统设计者意图表达者 + AI 编排者
AI 角色辅助约束下的生成器主要代码生成者
开发速度前期慢,长期快先慢后快极快,后期变慢
核心风险做对了错误的事规格过时技术债爆炸

📌 本节核心要点

维度TDDSDDVibe 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。


下一节预告

六维度对比告诉你"差在哪里",但实际项目中怎么用?下一节讲三种方法论的融合——探索 → 规格 → 验证。

下一节:三者融合工作流