Markdown 是一种标准的简单语法,用于创建具有专业外观的文档。它比 HTML 更简单,无需专门的编写编辑器即可进行管理。Git配置管理工具也支持markdown格式。在 Git 环境中,markdown 一般用于项目的简单介绍和构建说明。(自述文件)。本文介绍了如何将 Markdown 格式与模板一起用于架构文档。

带有 Markdown 的架构文档

与代码一起管理软件的架构设计和设计决策将为项目提供极大的便利。当我们的设计与代码一起保存在配置管理环境中时,我们可以一起进行设计变更和代码变更。当新工程师开始项目并将代码拉到他的计算机上时,他有机会看到系统的架构。

准备 Markdown 文档 IDE

您可以使用 Visual Studio Code 和类似的 IDE 与您的代码一起准备 markdown 文档。(市场上有 markdown 编辑器,但使用 IDE 来做会更实用)。您可以在 Visual Studio Code 中使用“Markdown Preview Enhanced”插件。使用这个插件,你可以在 VS Code (Preview) 中直观地看到 markdown 文档。您还可以使用相同的工具生成 HTML、World 或 PDF 文档。

MD Document Preparation with VS Code

UML 和 C4 图

您可以将使用 Plant UML 脚本语言绘制的 UML 和 C4 图放入 Markdown 文档中。这样,您可以将整个设计(包括绘图)保存在一个地方。您放入 Markdown 文档中的 UML 和 C4 图可以在预览窗口中看到。(带有一个名为“PlantUML”的插件)。此外,当您导出 pdf 或 html 时,您将能够将这些图表视为图形。GIT 工具具有可视化显示在此 PlantUML 中编写的设计脚本的功能。通过这种方式,可以看到带有 Bitbucket 的设计(具有适当的版本和配置)。此功能在开源 Github 站点上尚不可用。

  • Adding a C4 Component Diagram to a Markdown document

如果git服务器不支持可视化,可以先从plantuml服务器站点制作一张png或svg的图,然后将相关的图发送到Git服务器。然后你可以在markdown文档中将此图作为绘图链接。您可以在使用其他工具制作的图纸中使用此方法。

Arch 42 模板

Arc 42 是架构文档的模板。通过正确完成此 Arc42 模板,您将在一个地方拥有软件架构和设计的关键设计决策。

  1. — 简介和目标

  2. — 约束

  3. - 背景和范围

  4. — 解决方案策略

  5. - 构建块视图

  6. — 运行时视图

  7. — 部署视图

  8. — 交叉切割概念

  9. — 架构决策

  10. - 质量属性

  11. — 风险和技术债务

您可以在 Arch42 网站上访问 markdown 模板。相关网站上有一个草稿作为单个文件或作为每个部分的单独文件。

您可以在此模板中使用 C4 模型和 UML 图。例如,我们可以使用第 3 章中的 C4 范围图,第 5 章中的容器图和组件图。第 6 章中可以使用 C4 动态图或 UML 序列图。部署图可以使用 C4 或 UML 符号在第 7 章。
对于第 10 章,我们可以使用为架构权衡分析方法 (ATAM) 准备的表格。在这种情况下,您可以访问和使用我准备的降价表草稿。

结论

建议使用 Arch 42 模板以 Markdown 格式准备软件架构文档,并在代码中包含 Git 结构中的 C4 模型和 UML 图。该解决方案提供了高质量、可管理、版本控制和可追溯的架构文档。

本文 https://jiagoushi.pro/documenting-software-architecture-code-repository
讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto】或者加QQ群【792862318】
公众号 【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
微信小号 【cea_csa_cto】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

QQ群 【792862318】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

视频号 【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

知识星球 向大咖提问,近距离接触,或者获得私密资料分享。

喜马拉雅 路上或者车上了解最新黑科技资讯,架构心得。 【智能时刻,架构君和你聊黑科技】
知识星球 认识更多朋友,职场和技术闲聊。 知识星球【职场和技术】
微博 【智能时刻】 智能时刻
哔哩哔哩 【超级架构师】

抖音 【cea_cio】超级架构师

快手 【cea_cio_cto】超级架构师

小红书 【cea_csa_cto】超级架构师

谢谢大家关注,转发,点赞和点在看。

【架构治理】在代码存储库中记录软件架构相关推荐

  1. 如何仅从git存储库中稀疏签出单个文件?

    如何从git仓库中检出一个文件? #1楼 git checkout branch_or_version-路径/文件 示例: git checkout HEAD -- main.c #2楼 如果您已经有 ...

  2. 将子目录分离(移动)到单独的Git存储库中

    我有一个Git存储库,其中包含许多子目录. 现在,我发现一个子目录与另一个子目录无关,应该将其分离到单独的存储库中. 如何在保留子目录中文件历史记录的同时执行此操作? 我想我可以制作一个克隆并删除每个 ...

  3. 代码字体mono_如何构建代码存储库:Multi,Mono或Organic?

    代码字体mono by Chetan Sharma 由Chetan Sharma 如何构建代码存储库:Multi,Mono或Organic? (How to Structure Code Reposi ...

  4. 《Fast Phonetic Similarity Search over Large Repositories》——大型存储库中的快速语音相似性搜索

    介绍一篇关于当存在拼写错误的字符串如何进行相似性搜索的论文,该论文结合字符串相似性和语音相似性可在大型存储库中进行快速的相似性搜索. 论文连接 一.介绍 背景:字符串相似性算法可以处理字符串拼写错误的 ...

  5. 另一个git进程似乎在这个存储库中运行

    我正在尝试学习如何使用Git,并创建了一个包含HTML,CSS和Javascript文件的小项目. 我从我的基本空项目中创建了一个分支,然后对我的代码进行了一些更改. 我尝试暂存更改,但我收到以下错误 ...

  6. Subversion存储库中“分支”,“标记”和“主干”的含义是什么?

    我已经在Subversion(我猜通用存储库)讨论中看到了很多这样的话. 在过去的几年里,我一直在为我的项目使用SVN,但我从未掌握过这些目录的完整概念. 他们的意思是什么? #1楼 现在这就是软件开 ...

  7. 在Git存储库中查找并恢复已删除的文件

    假设我在Git存储库中. 我删除文件并提交更改. 我继续工作并做出更多承诺. 然后,我发现需要还原该文件. 我知道我可以使用git checkout HEAD^ foo.bar来签出文件,但是我真的不 ...

  8. git 初始化git存储库_什么不保存到Git存储库中

    git 初始化git存储库 You should not commit these four types of files into your Git repository. 您不应将这四种类型的文件 ...

  9. git git 查看远程库_如何从Git远程存储库中提取

    git git 查看远程库 Note: This the fourth video in the Git for beginners series. Watch the first video her ...

最新文章

  1. 中国的人生路上是紧跟领导就会有回报
  2. 第21节 信息系统及其建设
  3. python学习笔记(二)— 集合
  4. 良心发现,时隔一年再回首莫比乌斯反演(公式性质证明+题目练习)
  5. java多线程思维导图
  6. matlab 信道模拟 差错概率,移动信道差错序列的分布概率模拟法及门限电平的讨论...
  7. Denise God Mode for mac(磁带饱和器音频插件)
  8. 掌门教育微服务体系 Solar
  9. Nsight Compute内存访问常用Metrics含义理解
  10. Python常用模块大全(总结)
  11. des加密 lua_lua des加密解密 各种加密解密函数 - 奇闻 - 91文库
  12. 【报错】UnboundLocalError: local variable ‘xxx‘ referenced before assignment
  13. Task 3: Subword Models
  14. linux裁剪图片的软件,【美图秀秀Linux版】美图秀秀Linux版下载 v1.0.0.0 免费最新版-趣致软件园...
  15. AAPT: error: reso 1. mavenCentral():2. jcenter():3. mavenLocal():
  16. 模拟电路36(理想运算放大器——积分电路、微分电路4)
  17. [ 工具 ] ___ Browser : Chrome
  18. 北京最值得逛的50个地方
  19. 《南京印象》之二《石城疏影》
  20. 华为b199Android版本,华为B199刷机包 MIUI8安卓6.0插桩适配ROM 7.4.5版

热门文章

  1. [BZOJ1853][SCOI2010][容斥原理]幸运数字
  2. 学python还是scratch_我们的孩子该学习Scratch还是Python?
  3. 微信小程序将时间戳转为日期格式
  4. 物联网渐行渐近 你准备好了吗?
  5. 邻接表:求指定顶点的(出)度
  6. “传统文化传承人暨未来经济人才研修班”首期在山东省成功举办
  7. webpack4 搭建 Vue 开发环境笔记
  8. 如何使英文博客内容自动换行
  9. Ningx实用小技巧——rewrite重写用法讲解
  10. Apexテストコード作成の落とし穴