软件架构很难做到正确无误。团队不协调、难以理解的图表以及耗时的过程往往会导致挫败感和次佳的设计选择。当工程团队采用分散化和协作的方式处理架构时,面临的挑战也越来越大。
在我的上一篇文章《Software Architecture is Hard》里,我详细探讨了这些挑战,指出了许多团队在沟通和绘图标准上存在的重大问题。
为了使软件架构更简单一点,借助于由AI和LLMs带来的新能力,我试图自动化软件架构中最关键的环节之一——架构图的绘制。
遇见SwarkSwark(https://github.com/swark-io/swark)是一款能够利用大模型自动生成代码架构图示的免费且开源的 VS Code 扩展。
只需几个简单的点击,你就可以为你的代码库生成一个架构示意图:
Swark v1.0.0 演示版:为所选仓库生成架构图
为什么用Swark?
- 🌟 免费和开源:你所需要的就是 GitHub Copilot,它现在可以免费使用。你可以查看 Swark 的代码以了解其工作原理,并贡献代码使其变得更好。
- 🌍 通用语言支持:经典的代码可视化解决方案是确定性的,并且需要逐步为新语言或框架添加支持。而 Swark 将所有逻辑运算封装在大语言模型(LLM)中,它可以原生支持所有语言。
- 🔑 无缝集成:Swark 直接与 GitHub Copilot 集成。无需额外设置、身份验证或 API 密钥。
- 🛡️ 隐私第一:你的源代码仅与 GitHub Copilot 共享,没有涉及任何其他外部 API 或提供商。
- 🧜♀️ Mermaid.js:Swark 使用 Mermaid.js 生成图表,这是一个流行的代码式图表工具。你可以根据需要编辑和细化图表。
- 🔎 学习新代码库:快速生成架构图,快速掌握不熟悉的仓库。适用于新人培训和接手新项目。
- 🤖 审查AI生成代码:随着越来越多的项目由AI生成,Swark帮助你快速可视化其结构,并确保符合你的标准。
- 📕 改进文档:只需几分钟即可创建更新的架构图,保持文档详尽且最新。
- 🧩 发现设计缺陷:通过可视化依赖图,快速发现不必要的依赖或优化空间。
- ✅ 测试覆盖率洞察:将测试文件添加到Swark的输入中,一目了然地查看测试覆盖率并填补任何缺口。
- 文件检索:Swark 在选定的文件夹中检索代码文件。Swark 自动调整检索文件的数量以匹配 LLM 的最大 token 限制。
- 构建提示:基于检索到的文件,Swark 构建一个生成架构图的提示。代码文件会被包含在提示中,并附带有关如何构建图表的说明。
- 发送 LLM 请求:Swark 通过 VS Code 的 语言模型 API 发送 LLM 请求给 GitHub Copilot。
- 预览图表:在收到成功响应后,图表将被展示出来。这是通过创建一个包含 Mermaid 语法的图表的 Markdown 文件,并预览它来展示图表。
由于需要符合中文技术或编程上下文中的使用习惯,最终决定使用:
执行示例这样更符合技术文档的用法。
以下是使用 Swark(如下)创建的架构图的示例。
Swark(注:"Swark" 在原文中没有具体解释,这里直接保留了原文。)
编程语言为:TypeScript
文件数:16
Swark的架构就是由Swark自己设计的!
https://github.com/swark-io/swark
文件数:145
使用的编程语言:Python
LangChain 代理模块(Agents库),https://github.com/langchain-ai/langchain/tree/master/libs/langchain/langchain/agents.
加入我们社区- 在 GitHub 上给它 Star ⭐:https://github.com/swark-io/swark
- 在 Visual Studio Marketplace 安装插件
- 在 GitHub 或通过邮件 contact@swark.io 反馈问题
- 欢迎贡献!查看 贡献指南,
有任何反馈、想法或建议吗?欢迎在下方评论区留言,非常想听听你的意见。
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章