diff --git a/locales/index.md b/locales/index.md index 8040669..6fb1baf 100644 --- a/locales/index.md +++ b/locales/index.md @@ -3,3 +3,4 @@ * [Española](es/) * [Français](fr/) * [한국인](ko/) +* [中文](zh/) diff --git a/locales/zh/README.md b/locales/zh/README.md new file mode 100644 index 0000000..1202ca3 --- /dev/null +++ b/locales/zh/README.md @@ -0,0 +1,73 @@ +# 架构决策记录 (ADR) + +架构决策记录(ADR)是一份记录重要架构决策及其背景和后果的文件。 + +内容: + +- [什么是架构决策记录?](#什么是架构决策记录) +- [How to start using ADRs](#how-to-start-using-adrs) +- [How to start using ADRs with tools](#how-to-start-using-adrs-with-tools) +- [How to start using ADRs with git](#how-to-start-using-adrs-with-git) +- [File name conventions for ADRs](#file-name-conventions-for-adrs) +- [Suggestions for writing good ADRs](#suggestions-for-writing-good-adrs) +- [ADR example templates](#adr-example-templates) +- [Teamwork advice for ADRs](#teamwork-advice-for-adrs) +- [For more information](#for-more-information) + +模板: + +* [Decision record template by Jeff Tyree and Art Akerman](locales/en/templates/decision-record-template-by-jeff-tyree-and-art-akerman/) +* [Decision record template by Michael Nygard](locales/en/templates/decision-record-template-by-michael-nygard/) +* [Decision record template by EdgeX](locales/en/templates/decision-record-template-by-edgex/) +* [Decision record template for Alexandrian pattern](locales/en/templates/decision-record-template-for-alexandrian-pattern/) +* [Decision record template for business case](locales/en/templates/decision-record-template-for-business-case/) +* [Decision record template of the MADR project](locales/en/templates/decision-record-template-of-the-madr-project/) +* [Decision record template using Planguage](locales/en/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) +* [Translations into more languages](locales/) + +案例: + +* [CSS framework](locales/en/examples/css-framework/) +* [Environment variable configuration](locales/en/examples/environment-variable-configuration/) +* [Metrics, monitors, alerts](locales/en/examples/metrics-monitors-alerts/) +* [Microsoft Azure DevOps](locales/en/examples/microsoft-azure-devops/) +* [Monorepo vs multirepo](locales/en/examples/monorepo-vs-multirepo/) +* [Programming languages](locales/en/examples/programming-languages/) +* [Secrets storage](locales/en/examples/secrets-storage/) +* [Timestamp format](locales/en/examples/timestamp-format/) +* [Many more...](locales/en/examples/) + +[翻译成更多语言](locales/) + + +
+ +## 什么是架构决策记录? + +**架构决策记录**(ADR)是一份记录重要架构决策及其背景和后果的文件。 + +**架构决策** (AD) 是满足重要需求的软件设计选择。 + +**架构决策日志** (ADL) 是为某个项目(或组织)创建和维护的所有 ADR 的集合。 + +**具体架构意义的重大需求**(ASR)是指对软件系统架构有可衡量的影响的需求。 + +所有这些都属于**架构知识管理**(AKM)的范畴。 + +本文件旨在快速介绍 ADR、如何创建 ADR 以及从何处获取更多信息。 + +缩略语: + + * **AD**: 架构决策 + + * **ADL**: 架构决策日志 + + * **ADR**: 架构决策记录 + + * **AKM**: 架构知识管理 + + * **ASR**: 具有架构意义的重大需求 + +
diff --git "a/locales/zh/\346\226\207\346\241\243/.empty" "b/locales/zh/\346\226\207\346\241\243/.empty" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/locales/zh/\346\226\207\346\241\243/.empty" @@ -0,0 +1 @@ + diff --git "a/locales/zh/\346\226\207\346\241\243/README.md" "b/locales/zh/\346\226\207\346\241\243/README.md" new file mode 100644 index 0000000..f758957 --- /dev/null +++ "b/locales/zh/\346\226\207\346\241\243/README.md" @@ -0,0 +1 @@ +文档 diff --git "a/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs-with-tools/README.md" "b/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs-with-tools/README.md" new file mode 100644 index 0000000..fc0ab8a --- /dev/null +++ "b/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs-with-tools/README.md" @@ -0,0 +1 @@ +index.md diff --git "a/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs-with-tools/index.md" "b/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs-with-tools/index.md" new file mode 100644 index 0000000..2bfe7b6 --- /dev/null +++ "b/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs-with-tools/index.md" @@ -0,0 +1,13 @@ +## 如何开始使用 ADR 工具 + +您可以以任何方式开始使用 ADR 工具。 + +比如: + + * 如果你喜欢使用 Google Drive 和在线编辑,那么你可以创建一个 Google Doc 或 Google Sheet。 + + * 如果你喜欢使用源代码版本控制工具比如 Git,那么你可以为每个 ADR 创建一个文件。 + + * 如果你喜欢使用项目规划工具如 Atlassian Jira,那么你可以使用该工具的规划跟踪器。 + + * 如果您喜欢使用 wiki 如 MediaWiki,那么你可以创建 ADR wiki 页面。 diff --git "a/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs/README.md" "b/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs/README.md" new file mode 100644 index 0000000..fc0ab8a --- /dev/null +++ "b/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs/README.md" @@ -0,0 +1 @@ +index.md diff --git "a/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs/index.md" "b/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs/index.md" new file mode 100644 index 0000000..11463dd --- /dev/null +++ "b/locales/zh/\346\226\207\346\241\243/how-to-start-using-adrs/index.md" @@ -0,0 +1,45 @@ +# 如何开始使用 ADR + +要开始使用 ADR,请与团队成员讨论以下内容。 + +决策识别: + + * How urgent and how important is the AD? + + * Does it have to be made now, or can it wait until more is known? + + * Both personal and collective experience, as well as recognized design methods and practices, can assist with decision identification. + + * Ideally maintain a decision todo list that complements the product todo list. + +做出决策: + + * 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) diff --git "a/locales/zh/\346\226\207\346\241\243/what-is-an-architecture-decision-record /README.md" "b/locales/zh/\346\226\207\346\241\243/what-is-an-architecture-decision-record /README.md" new file mode 100644 index 0000000..fc0ab8a --- /dev/null +++ "b/locales/zh/\346\226\207\346\241\243/what-is-an-architecture-decision-record /README.md" @@ -0,0 +1 @@ +index.md diff --git "a/locales/zh/\346\226\207\346\241\243/what-is-an-architecture-decision-record /index.md" "b/locales/zh/\346\226\207\346\241\243/what-is-an-architecture-decision-record /index.md" new file mode 100644 index 0000000..7ae192c --- /dev/null +++ "b/locales/zh/\346\226\207\346\241\243/what-is-an-architecture-decision-record /index.md" @@ -0,0 +1,23 @@ +**架构决策记录**(ADR)是一份记录重要架构决策及其背景和后果的文件。 + +**架构决策** (AD) 是满足重要需求的软件设计选择。 + +**架构决策日志** (ADL) 是为某个项目(或组织)创建和维护的所有 ADR 的集合。 + +**具体架构意义的重大需求**(ASR)是指对软件系统架构有可衡量的影响的需求。 + +所有这些都属于**架构知识管理**(AKM)的范畴。 + +本文件旨在快速介绍 ADR、如何创建 ADR 以及从何处获取更多信息。 + +缩略语: + + * **AD**: 架构决策 + + * **ADL**: 架构决策日志 + + * **ADR**: 架构决策记录 + + * **AKM**: 架构知识管理 + + * **ASR**: 具有架构意义的重大需求 diff --git "a/locales/zh/\346\241\210\344\276\213/.empty" "b/locales/zh/\346\241\210\344\276\213/.empty" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/locales/zh/\346\241\210\344\276\213/.empty" @@ -0,0 +1 @@ + diff --git "a/locales/zh/\346\250\241\346\235\277/.empty" "b/locales/zh/\346\250\241\346\235\277/.empty" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/locales/zh/\346\250\241\346\235\277/.empty" @@ -0,0 +1 @@ +