架构

ADR · 架构决策记录

ADR(架构决策记录)是一份简短的文档,用来记录一个重要的技术决策,以及同样重要的——「为什么」这么决定。几个月后,当有人问「我们当初到底为什么要这样做?」,答案早已白纸黑字写在那里。

每一份 ADR 都很短,并遵循同样的结构:背景(迫使你做选择的处境)、决策(我们选了什么)、理由(为什么)、备选方案(我们考虑过的其他做法),以及后果(我们因此得到什么、又要承担什么)。

你把它们作为纯 markdown 文件放在项目里,按顺序编号(0001、0002……),于是团队的思考过程会沉淀成一段可读的历史,而不是消失在某个人的记忆里。

# 0001 · Use PostgreSQL for the primary datastore

## Status
Accepted — 2026-06-09

## Context
<What situation forces a decision? Constraints, forces at play.>

## Decision
<The choice we are making, stated plainly.>

## Rationale
<Why this option, in one or two honest sentences.>

## Alternatives considered
- <Option B> — why not
- <Option C> — why not

## Consequences
<What gets easier, what gets harder, what we now live with.>

一个最小的 ADR 模板——复制到 docs/adr/0001-title.md,把尖括号里的内容填上即可。

让它们保持不可变:不要去改旧的 ADR——如果决策变了,就写一份新的来取代它。这条「想法如何改变」的轨迹,正是它的价值所在。

又称
architecture decision recorddecision logdecision record