Architecture Decision Record (ADR)
记录重要技术决策、上下文、取舍和后果的轻量文档形式。
#type / concept
#status / growing
#tech / dev
#resource / architecture-decision-record
[!info] related notes
- 所属 MOC: Matt Pocock Skills MOC
- 前置概念: [[ubiquitous-language|Ubiquitous Language]]
- 并列概念: Policy as Code
- 易混淆概念: 项目实践 MOC
- 关系笔记: Matt Pocock Skills 的工程闭环
Architecture Decision Record (ADR)
一句话定义
用短文档记录某个重要架构决策为什么做、替代方案是什么、以后会带来什么后果。
核心机制 / 工作原理
系统会记得代码,但不会自动记得“当时为什么这样做”。ADR 的作用就是把设计理由显式化,降低知识只留在人脑中的风险。
最小例子 / 最小场景
决定使用 monorepo 时,ADR 可以记录目标、拒绝的替代方案和会增加的维护成本,方便以后重新评估。
边界与易混淆点
- ADR 不是长篇设计文档,重点是决策与取舍
- 不是所有小决定都要写 ADR,但关键边界变化值得记录