Skip to content
1 change: 1 addition & 0 deletions locales/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
* [Española](es/)
* [Français](fr/)
* [한국인](ko/)
* [中文](zh/)
78 changes: 78 additions & 0 deletions locales/zh/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# 架构决策记录 (ADR)

架构决策记录(ADR)是一份记录重要架构决策及其背景和后果的文件。

内容:

- [什么是架构决策记录 ADR](#什么是架构决策记录?)
- [如何开始使用 ADR](#how-to-start-using-adrs)
- [如果开始使用工具进行 ADR](#how-to-start-using-adrs-with-tools)
- [如何开始使用 Git 进行 ADR](#how-to-start-using-adrs-with-git)
- [ADR 文件名约定](#file-name-conventions-for-adrs)
- [编写良好 ADR 的建议](#suggestions-for-writing-good-adrs)
- [ADR 示例模板](#adr-example-templates)
* [ADR 的团队协作建议](#teamwork-advice-for-adrs)
* [ADR 的团队协作问题](#teamwork-questions-for-adrs)
* [ADR 的下一步概念](#next-step-concepts-for-adrs)
* [了解更多信息](#for-more-information)

模板:

* [Decision record template by Jeff Tyree and Art Akerman](locales/zh/templates/decision-record-template-by-jeff-tyree-and-art-akerman/)
* [Decision record template by Michael Nygard](locales/zh/templates/decision-record-template-by-michael-nygard/)
* [Decision record template by EdgeX](locales/zh/templates/decision-record-template-by-edgex/)
* [Decision record template by arc42](locales/zh/templates/decision-record-template-by-arc42/)
* [Decision record template for Alexandrian pattern](locales/zh/templates/decision-record-template-for-alexandrian-pattern/)
* [Decision record template for business case](locales/zh/templates/decision-record-template-for-business-case/)
* [Decision record template of the MADR project](locales/zh/templates/decision-record-template-of-the-madr-project/)
* [Decision record template using Planguage](locales/zh/templates/decision-record-template-using-planguage/)
* [Decision record template by Paulo Merson](https://github.com/pmerson/ADR-template)
* [Decision record template by Olaf Zimmermann](https://medium.com/olzzio/y-statements-10eb07b5a177)
* [Decision record template by Gareth Morgan](locales/zh/templates/decision-record-template-by-gareth-morgan/)
* [Decision record template by GIG Cymru NHS Wales](locales/zh/templates/decision-record-template-by-gig-cymru-nhs-wales/)
* [Translations into more languages](locales/)

案例:

* [CSS 框架](locales/zh/examples/css-framework/)
* [环境变量配置](locales/zh/examples/environment-variable-configuration/)
* [指标、监控与告警](locales/zh/examples/metrics-monitors-alerts/)
* [Microsoft Azure DevOps](locales/zh/examples/microsoft-azure-devops/)
* [单仓库 vs 多仓库](locales/zh/examples/monorepo-vs-multirepo/)
* [编程语言](locales/zh/examples/programming-languages/)
* [密钥存储](locales/zh/examples/secrets-storage/)
* [时间戳格式](locales/zh/examples/timestamp-format/)
* [更多示例...](locales/zh/examples/)

[更多语言](locales/)


<div class="include" data-path="locales/zh/what-is-an-architecture-decision-record">

## 什么是架构决策记录?

**架构决策记录**(ADR)是一份记录重要架构决策及其背景和后果的文件。

**架构决策** (AD) 是满足重要需求的软件设计选择。

**架构决策日志** (ADL) 是为某个项目(或组织)创建和维护的所有 ADR 的集合。

**具体架构意义的重大需求**(ASR)是指对软件系统架构有可衡量的影响的需求。

所有这些都属于**架构知识管理**(AKM)的范畴。

本文件旨在快速介绍 ADR、如何创建 ADR 以及从何处获取更多信息。

缩略语:

* **AD**: 架构决策

* **ADL**: 架构决策日志

* **ADR**: 架构决策记录

* **AKM**: 架构知识管理

* **ASR**: 具有架构意义的重大需求

</div>
1 change: 1 addition & 0 deletions locales/zh/文档/.empty
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions locales/zh/文档/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
文档
19 changes: 19 additions & 0 deletions locales/zh/文档/how-to-start-using-adrs-with-git/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 如何开始使用 Git 进行 ADR

如果你倾向于使用 Git 做版本控制,这里将为你介绍如何在一个典型的软件源代码项目中,开始使用 Git 来进行 ADR。

新建一个目录来存放 ADR 文件:

```sh
$ mkdir adr
```

为每一个 ADR 创建一个文本文件,例如 `database.txt`:

```sh
$ vi database.txt
```

在该 ADR 中记录任何你期望的内容,更多细节可参考本仓库中的模板。

提交该 ADR 文件到你的 Git 仓库。
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
index.md
13 changes: 13 additions & 0 deletions locales/zh/文档/how-to-start-using-adrs-with-tools/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## 如何开始使用 ADR 工具

您可以以任何方式开始使用 ADR 工具。

比如:

* 如果你喜欢使用 Google Drive 和在线编辑,那么你可以创建一个 Google Doc 或 Google Sheet。

* 如果你喜欢使用源代码版本控制工具比如 Git,那么你可以为每个 ADR 创建一个文件。

* 如果你喜欢使用项目规划工具如 Atlassian Jira,那么你可以使用该工具的规划跟踪器。

* 如果您喜欢使用 wiki 如 MediaWiki,那么你可以创建 ADR wiki 页面。
1 change: 1 addition & 0 deletions locales/zh/文档/how-to-start-using-adrs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
index.md
45 changes: 45 additions & 0 deletions locales/zh/文档/how-to-start-using-adrs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 如何开始使用 ADR

要开始使用 ADR,请与团队成员讨论以下内容。

决策识别:

* AD 的紧急程度和重要性如何?

* 必须现在就做,还是可以等到了解更多信息后再做?

* 个人和集体经验以及公认的设计方法和实践都可以帮助做出决策。

* 理想情况下,应维护一份与产品待办事项清单相对应的决策待办事项清单。

做出决策:

* A number of decision making techniques exists, both general ones and software architecture specific ones, for instance, dialogue mapping.

* Group decision making is an active research topic.

决定的制定和执行:

* ADs are used in software design; hence they have to be communicated to, and accepted by, the stakeholders of the system that fund, develop, and operate it.

* Architecturally evident coding styles and code reviews that focus on architectural concerns and decisions are two related practices.

* ADs also have to be (re-)considered when modernizing a software system in software evolution.

决策共享(可选):

* Many ADs recur across projects.

* Hence, experiences with past decisions, both good and bad, can be valuable reusable assets when employing an explicit knowledge management strategy.

决策文件:

* Many templates and tools for decision capturing exist.

* See agile communities, e.g. M. Nygard's ADRs.

* See traditional software engineering and architecture design processes, e.g. table layouts suggested by IBM UMF and by Tyree and Akerman from CapitalOne.

更多:

* The steps above are adopted from the Wikipedia entry on [Architectural Decision](https://en.wikipedia.org/wiki/Architectural_decision)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
**架构决策记录**(ADR)是一份记录重要架构决策及其背景和后果的文件。

**架构决策** (AD) 是满足重要需求的软件设计选择。

**架构决策日志** (ADL) 是为某个项目(或组织)创建和维护的所有 ADR 的集合。

**具体架构意义的重大需求**(ASR)是指对软件系统架构有可衡量的影响的需求。

所有这些都属于**架构知识管理**(AKM)的范畴。

本文件旨在快速介绍 ADR、如何创建 ADR 以及从何处获取更多信息。

缩略语:

* **AD**: 架构决策

* **ADL**: 架构决策日志

* **ADR**: 架构决策记录

* **AKM**: 架构知识管理

* **ASR**: 具有架构意义的重大需求
1 change: 1 addition & 0 deletions locales/zh/案例/.empty
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions locales/zh/模板/.empty
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@