开源+遗留系统现代化工具的现代化演进是一门艺术
发表时间:2023-12-10 08:04:34
文章来源:炫佑科技
浏览次数:189
菏泽炫佑科技
开源+遗留系统现代化工具的现代化演进是一门艺术
为什么选择开源 + 遗留系统现代化工具
在日常的软件开发中,我们经常会遇到一系列的问题,比如:
解决这些问题的一种方法是:自动化工具,有些人喜欢称它们为机器。 支持这些工具的是集成到工具中的一系列原则和模式。 人类成长的另一个解决方案是:元元。 这是另一个故事了。
遗留系统是常态。 大多数时候,我们遇到的大多数系统都是遗留系统。 当我们来到一个新项目时,我们可能需要快速分析它们以提供见解——写一份PPT报告。 因此,咨询团队在过去的几年里也积累了一系列遗留系统分析重构工具,比如Xinge的开源架构分析和守护工具等。此外,在一些重构项目中,还必须编写定制工具进行分析。
技术激情产生电力。 主要的挑战是我们需要在业余时间完善这个工具。
由于要用自己的时间来开发,而且与项目无关,所以开源的方式*适合这种用爱发电的方式。
我们需要什么工具?
从使用工具的结果来看,我们需要这个现代工具:
适当的语法精度。 更高的语法精度意味着更高的开发成本,需要有针对性地进行平衡。 多平台。 我们使用 macOS,大多数时候,客户使用 . 如何开发这样的工具呢?
这里定义的遗留系统现代化工具包括以下部分:语法分析、结果和可视化、自动重建和架构防护。
语法分析
对代码进行语法分析并生成特定于语言的数据结构。 常用的工具有:Antlr、Ctags、、等,粗略的对比(挠头排序)如下表所示:
结果和可视化
一般来说,我们会对遗留系统进行可视化,有以下几种情况:
自动重构
此步骤是可选的,取决于我们的场景。 一般来说,编写这样的函数主要是弥补现代IDE无法完成的工作,比如:
建筑卫士
编写架构的保护规则来保护系统的架构。 使用的工具有:等,参考.的语法后,我们还设计了一个多语言架构守护工具:.
在开发这些工具的过程中,他们也不断推动我进一步学习语言背后的东西,比如编译原理(语言的前端部分)、理解构建系统(build)等。
遗留系统现代化工具集
为了更有针对性地对遗留系统进行现代化改造,我们*近创建了一个新的组织:开源+遗留系统现代化工具的现代化演进是一门艺术,它汇集了一系列以前开发的工具。 并创建了: - 其他相关工具的集合。
这里,针对各个编程语言的工具有:
对于多语言工具,我们有:
另外,开源组下还有另一个开源:Coco自动化软件开发,它主要是一个通过代码的物理属性:修改频率+目录+行数来分析系统的工具。 现在它正在大力开源。
我们使用一系列不同的语言和工具来开发这些软件,因为不同的场景有不同的选择。
下一步?
现有工具比较分散,不同工具的数据格式不同,缺乏统一的数据格式。 当输出格式不统一时,我们很难进行标准的可视化,比如当我们构建一个遗留系统在元宇宙中进行可视化时,或者当我们将前端可视化部分从中拆分出来以供复用时。 。 理想情况下,它应该像一个建筑系统,由一系列管道和管道组成。