架構
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——如果決策變了,就寫一份新的來取代它。這條「想法如何改變」的軌跡,正是它的價值所在。
又稱