

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 常见问题解答
<a name="faq"></a>

## 创建 ADR 流程有哪些好处？
<a name="q1"></a>

项目团队应该创建 ADR 流程来简化架构决策，防止重复讨论相同的架构主题，有效传达架构决策。

## 项目团队应何时创建 ADR？
<a name="q2"></a>

项目团队应为软件中影响结构（模式如微服务）、非功能需求（安全性、高可用性和容错性）、依赖关系（组件耦合）、接口（和已发布的合同）APIs和构造技术（库、框架、工具和流程）的各个方面创建 ADR。

## 项目团队应多久审查一次 ADR？
<a name="q3"></a>

项目团队至少应在接受 ADR 之前审查一次。

## 谁来创建 ADR？
<a name="q4"></a>

每个团队成员都可以创建 ADR。我们建议您提倡所有权的概念 ADRs。拥有 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)。