用途:把重要技术决策写成架构决策记录(ADR),让未来的人和团队理解当时为什么这样选。适合难以回退、影响系统多个部分、存在合理取舍、半年后可能被质疑的决策,例如选数据库、采用框架、改变认证策略、重构 API、引入构建工具。
格式:在 docs/decisions/(或 adr/)下按顺序编号建文件。模板包含 Status(Accepted | Proposed | Deprecated | Superseded by ADR-XXX)、Date、Context(问题与约束)、Options Considered(至少 2 到 3 个备选,列优缺点)、Decision(选择及理由)、Consequences(后续影响)。文件命名如 001-use-postgresql.md,并保留 template.md。
流程:确定决策、调研备选、按模板撰写、通过 PR 或讨论评审、合并为已接受;必要时在代码注释中引用,例如 // See ADR-001。
建议:保持简短,1 到 2 页;用现在时写作;忘记时事后补写也可以;被取代的 ADR 应链接替代项而非删除;ADR 不是设计文档,只记录决策本身。
限制:资料未提供具体工具、安装命令、自动化程度或收费信息。