从代码中提取软件架构

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

我最近在 skills matter 上运行了 从代码会话中提取软件架构的过程 ,这很有趣。短期工作坊部分的基本前提很简单; “这里有一些代码,现在画一些软件架构图来描述一下。”有些人单独做这件事,有些人分组工作。这听起来很简单,但您可以亲眼看看发生了什么。

当然有一些共同的主题,但每个图都是不同的。此外,人们对可以从代码中提取哪些架构信息的看法也略有不同,但改天再讨论这个话题。如果您想自己尝试一下,我使用的代码库是 spring petclinic web 应用程序的略微简化版本 * 。会议的演示部分被记录下来,我正在创建这个研讨会的 1 天版本,我将在秋季的一两次会议上运行。

不过,这再次引发了有关软件开发行业的一些基本问题。为什么在 2015 年,我们仍然没有一致的方法来做到这一点?为什么我们没有 共享的词汇表 ?我们什么时候才能真正称自己为 “软件工程师”

* 原始版本 附带 三个不同的数据库配置文件实现 ,为了简单起见,我删除了其中两个。