体系规范 · 最佳实践 · 2026-08-20

ADR · 架构决策记录
用一页纸把「为什么这么定」留给后人

小八弟 · 标准与法规 · 体系规范专题

← 返回 体系规范板块
一句话导读
ADR(Architecture Decision Record)是轻量记录架构决策的实践:每条决策写清「背景、决策、后果、备选方案」。它不是标准,而是被广泛采用的最佳实践——解决「半年后没人记得当初为什么这么选」的经典问题。

一、实践画像

内容
出处Michael Nygard 提出;MADR 模板社区流行(Markdown ADR)
性质最佳实践 / 工程文化(非认证标准)
适用层级架构级、技术选型、关键约定——凡是「影响长期、难以回退」的决定
文档形式通常 Markdown,随代码库管理,编号递增

二、经典模板(MADR 精简版)

字段写什么
状态提议 / 接受 / 已替代 / 废弃
背景为什么有这个决策(问题、约束、触发事件)
决策我们选了什么、为什么选它
后果正面影响 + 负面影响 / 成本 / 权衡
备选方案考虑过但没选的路,以及理由

三、什么时候该写

四、落地建议

  1. 一页纸原则:写不满一页就不用写,超过一页就说明决策没想清;
  2. 编号递增:ADR-001、ADR-002…,永不删除,可标记「已替代」;
  3. 随代码管理:和文档 / 规范放一起,版本受控(对应我们 docs/决策记录/);
  4. 变更旧决策也要写:推翻一条 ADR = 新写一条 ADR 引用旧编号。
五、与我们的关联(直接命中)
我们在 8/20 早上把 ADR 机制落地为 docs/决策记录/(调研报告建议①): 这说明:业界最佳实践不是「知识」,而是我们已在用的工作方式——只是现在有了标准坐标和名称。
⚠️ 本文为信息整理(🟢 基于公开资料:Nygard《Documenting Architecture Decisions》与 MADR 项目)。