撰写架构决策记录
架构决策记录(也称为ADR)是一份记录重要架构决策的文档,其中包括决策的背景以及决策变更的后果。
有什么好处?
共享上下文
ADR 记录了决策制定的瞬间。它们是 Slack 中所有异步讨论的结果,这些讨论会随着时间的推移而丢失。⏰
当你将它们具体化成文档时,你未来的队友就能了解这一具体变更的背景。这样他们就能理解问题所在、做出的决策以及它对项目的影响。
从长远来看,撰写文档将对您和您未来的同事有所帮助!🚀
结盟
写下决策可以让团队达成共识,并确保所有变更的假设都是明确的📏。
这将在架构决策实施后产生积极的影响。团队中的每个人都将有深刻的理解,这将有助于更快地推进新方法。
撰写 ADR
定义模板
在编写它们时,一种常见的做法是使用模板以相同的方式编写✍🏼所有文档。
您会在网上找到很多模板,但这是我使用的模板,它非常简单但易于编写。
# Title
- Status: <!-- PENDING/APPROVED/DEPRECATED -->
- Date: DD/MM/YYYY
- RFC: <!-- Link to the RFC that ended up into the ADR -->
## Context
<!-- What is the issue that is motivating the decision or change? -->
## Decision
<!-- What is the change we're doing? -->
## Consequences
<!-- What becomes easier or more difficult because of this change? -->
将它们存储在代码旁边
我认为文档应该放在代码旁边,以便于贡献代码。每当你添加一个外部工具时,都会增加贡献的复杂性,并降低文档的可见性👀 。
解决方案很简单,将 ADR 检入到项目存储库中,并保持简单和干净✨
我建议您创建一个文件夹📁来存储所有决策记录,例如:docs/adrs/
。
使用命名约定
保存文件时使用命名约定title-of-the-adr-DD-MM-YYYY.md
结论
写更多的 ADR 😜,如果您还没有这样做,那么现在开始永远不会太晚!
根据我的经验,随着团队规模的扩大和代码库的复杂化,架构决策记录是帮助当前和未来团队的绝佳工具❤️
鏂囩珷鏉ユ簮锛�https://dev.to/carloscuesta/writing-architecture-decision-records-3582