1.3 从工匠到画家——你的角色是什么
理解了三种方法论的基本概念后,一个更深层的问题浮出水面:每一种方法论背后,人类的角色完全不同。
你的角色正在改变
这个转变不只是"工作方式不同"——它反映了软件开发行业的一次根本性变革。
三种角色,三种心态
TDD 的心态:工匠
TDD 开发者像一个传统工匠——亲手打磨每一个细节。
心态:我知道代码应该怎么工作,我要证明它确实这么工作。
方式:写测试 → 写代码 → 重构
技能:编程能力、测试设计、重构技巧
满足感:看着测试变绿,代码干净优雅典型对话:
"我先把
test_login_with_expired_token写好,看它失败,然后再写 JWT 过期检查逻辑。"
SDD 的心态:建筑师
SDD 开发者像一个建筑师——先画蓝图,再让施工队(人或 AI)执行。
心态:我不需要亲自砌每一块砖,但我要确保蓝图精确无误。
方式:写规格 → 自动生成 → 审查验证
技能:系统设计、规格编写、工具链掌握
满足感:系统各部分完美配合,文档永远是最新的典型对话:
"先把 OpenAPI 规格定好,前端基于 Mock 开发,后端按规格实现。最后做契约测试验证。"
Vibe Coding 的心态:画家
Vibe Coding 开发者像一个画家——快速画出草图,反复修改直到满意。
心态:我不在乎代码怎么写的,我在乎的是能不能达到效果。
方式:描述需求 → AI 生成 → 运行看效果 → 继续调整
技能:需求描述能力、AI 工具使用、快速判断
满足感:几分钟就从想法到可运行的产品典型对话(来自 Karpathy 原话):
"I just write something, run it, check the error, and say 'fix it' to the AI. I barely read the code."
软件开发的演进:角色的变化
这些方法论不是凭空出现的,它们反映了软件开发的历史演进:
一张图总结
人类的核心工作
TDD: 写测试 → AI/人写实现 → 重构
SDD: 写规格 → AI/工具生成 → 审查验证
Vibe: 写提示词 → AI 生成 → 运行看效果
共同点:人类从"写代码"变成了"定义想要什么"。
区别:定义的精确度不同。📌 本节核心要点
| 概念 | 要点 |
|---|---|
| TDD 的角色 | 工匠——亲手写测试和代码,追求每行代码的正确性 |
| SDD 的角色 | 建筑师——画蓝图(规格),让人或 AI 按图施工 |
| Vibe Coding 的角色 | 画家——用自然语言快速素描,AI 帮你填充细节 |
| 角色演进 | 从"写代码"到"定义意图"——软件开发的历史就是人类角色的转变史 |
知识检查
问题 1:三种方法论中,人类的角色分别是什么?各有什么特点?
查看答案
- TDD(工匠):代码编写者 + 测试设计者。亲手写测试和代码,追求每行代码的正确性。心态是"我知道代码应该怎么工作,我要证明它确实这么工作"。
- SDD(建筑师):规格编写者 + 系统设计者。先画蓝图(规格),再让团队按图施工。心态是"我不需要亲自砌每一块砖,但蓝图必须精确"。
- Vibe Coding(画家):意图表达者 + AI 编排者。用自然语言描述需求,AI 生成代码。心态是"我不在乎代码怎么写的,我在乎效果"。
问题 2:判断题——从 TDD 到 SDD 到 Vibe Coding,人类的核心工作从"写代码"变成了"定义想要什么"。
查看答案
正确。三者的共同点是:人类都从"手写每一行代码"变成了"告诉系统我想要什么"。区别在于"定义的精确度"不同:TDD 用代码级测试定义,SDD 用结构化规格定义,Vibe Coding 用自然语言定义。
问题 3:从历史演进看,软件开发经历了哪些角色变化?从什么时代开始"AI 生成代码"成为主流?
查看答案
角色变化:设计师+编码者(瀑布)→ 全栈协作者(敏捷+TDD)→ 规格编写者(SDD)→ 意图表达者(Vibe Coding)。
"AI 生成代码"从 2023 年(AI 辅助编程工具普及)开始成为主流,2025 年 Vibe Coding 概念被正式提出。
下一节预告
知道了三种方法论的角色差异,接下来我们要深入每一种,看看它们具体怎么工作。先从老王的 TDD 开始。