1.前言
笔者前文“浅析代码可视化”中讲述了代码可视化的基本实现原理,并给出了一些业界的应用场景。由于涉及原理和技术范围较广,以笔者能力难以做到面面俱到,为了减少信息传递偏差,便给出了一些信息来源供读者深入阅读。不过针对文中提到应用场景中的一些小的功能点,可以拿出来详尽的分析一下实现方案,以小见大。因此本文将针对代码可视化在代码变更影响分析上的应用做较详细的阐述,希望能对大家有所帮助。
2.场景
先用2个常见的开发场景来还原描述为什么我们需要“代码变更影响分析”。
场景1:修改了方法①逻辑,以为只会影响入口A便只回归了相关的场景,上线后发现影响了入口B的逻辑,造成了线上事故;

场景2:修改了方法②逻辑,并回归了所有已知的流量入口,但上线一段时间后出现了大量异常告警,原来是影响了定时任务和MQ消费逻辑;

其他等等…
“代码变更影响分析”具体的可以描述为:如何感知代码改动造成功能逻辑变化的影响范围,具体到影响了哪些类、方法、入口以及调用拓扑。
3.方案
针对需求,下面给出一种基于源码静态分析的实现方案。

本文详细阐述了代码可视化在代码变更影响分析中的应用,通过Java8和JavaParser实现方法调用拓扑生成,并介绍了一种基于源码静态分析的解决方案。通过GitDiff对比变更前后代码,帮助开发者尽早评估改动影响,降低事故风险。
最低0.47元/天 解锁文章
2252





