SDD 教学¶
这一部分讲的是:这个 Git 复现项目为什么不能只靠“写代码 + 手动跑一下”,而必须采用规格驱动、测试驱动和安全边界同步推进的做法。
对很多初学者来说,SDD 听起来容易很虚。但一旦把它放进 Git 复现这种项目里,意义就会变得非常具体。因为这个项目不是普通页面应用,它会:
- 处理二进制格式;
- 维护提交图;
- 改写 refs;
- 重写工作区;
- 删除文件;
- 做 merge;
- 打包和传输对象。
这种项目只要边界没设计好,bug 的后果就不只是“某个按钮显示错了”,而可能是仓库损坏或文件丢失。
这部分要回答什么问题¶
这一组页面主要回答三个问题:
- 一个很大的 PRD 如何拆成能执行的任务?
- 测试和安全规则如何反过来影响实现方式?
- 为什么在这种项目里,mock 很多时候不但帮不上忙,反而会掩盖核心问题?
在这个项目里,SDD 不是什么¶
它不是为了把文档写漂亮。
也不是为了让项目看起来“更正规”。
在这个项目里,SDD 是为了保证下面这条链不断裂:
PRD -> 任务拆分 -> 模块设计 -> 代码实现 -> 自动化测试 -> 危险边界验证
只要这条链条断开,项目就会退化成“命令越来越多,但没人能确定哪里真的安全、哪里真的兼容”。
你会在这一部分学到什么¶
你会看到:
- 什么是 SDD;
- 巨型 PRD 为什么一定要拆;
- 任务为什么要按依赖顺序安排;
- 危险指令为什么必须先设计保护边界;
- 为什么核心行为测试不能依赖 mock;
- 为什么 SOLID、DRY、原子写入、锁文件、中文注释要求都和项目可维护性直接相关。
推荐阅读顺序¶
建议按这个顺序看:
What Is SDDPRD to TasksTesting StrategyDangerous CommandsNo Mock Policy
这个顺序是从理念到任务,再到验证和安全。
它和其他部分的关系¶
Git Teaching告诉你要复现的对象是什么;Build Git Teaching告诉你这些能力如何落成代码;SDD Teaching告诉你怎样让这套代码在复杂度上升时不失控。
如果你既想学 Git,也想学怎么把一个复杂系统项目做成“可持续演进”的状态,这一部分就是中间桥梁。