

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 常見問答集
<a name="faq"></a>

## 建立 ADR 程序有哪些好處？
<a name="q1"></a>

專案團隊應建立 ADR 程序來簡化架構決策，防止重複討論相同的架構主題，並有效傳達架構決策。

## 專案團隊應何時建立 ADR？
<a name="q2"></a>

專案團隊應為影響結構 (微服務等模式)、非功能需求 (安全性、高可用性和容錯能力)、相依性 (元件耦合)、介面 (API 和已發佈合約) 和建構技術 (程式庫、架構、工具和流程) 的軟體各個方面建立 ADR。

## 專案團隊應多久審核一次 ADR？
<a name="q3"></a>

專案團隊在接受 ADR 之前應至少審核一次。

## 誰應建立 ADR？
<a name="q4"></a>

每個團隊成員都可以建立 ADR。我們建議您宣傳 ADR 的擁有權概念。擁有 ADR 的作者應主動維護和傳達 ADR 內容。其他團隊成員永遠可以為 ADR 做出貢獻。ADR 擁有者應核准對 ADR 的變更。

## ADR 應包含哪些資訊？
<a name="q5"></a>

每個 ADR 至少必須定義決策的內容、決策本身以及決策對專案及其可交付項目的影響。內容應提及團隊考慮的可能解決方案。它還應包含與專案、客戶或技術堆疊相關的任何相關資訊。此決策必須以命令式語言清楚說明團隊決定採用的解決方案。避免使用「應該」之類的字詞，並將每個決策表述為「我們使用...」或「團隊必須使用...」。後果部分應提及做出決策的所有已知權衡。每個 ADR 必須具有一個狀態和一個變更日誌，其中包含變更日期和負責變更的人員。

## 在哪裡可以找到 ADR 範本？
<a name="q6"></a>

ADR 範本有多種版本和變體可用。如需常用 ADR 範本的公開集合，請參閱 [ADR GitHub 儲存庫](https://adr.github.io/#existing-adr-templates)。