架构
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——如果决策变了,就写一份新的来取代它。这条「想法如何改变」的轨迹,正是它的价值所在。
又称