本申请属于it支撑,尤其涉及一种调用链路图更新的方法、装置、设备及计算机存储介质、产品程序。
背景技术:
1、随着互联网行业的不断发展,用户的数量的不断增长也使得用户需求的不断增长,系统功能不断增加且复杂化,集群组件不断增加,以满足用户日益增长的需求。为了提高代码的可读性和可维护性,减少对项目的学习成本,需要提供详尽的学习资料。
2、现有方法在学习和掌握系统方法调用关系时,往往通过系统的设计文档对系统的方法和功能进行学习,但由于系统的设计文档较为复杂,在系统需求迭代的过程中设计文档内容容易出现缺失,导致获取的方法调用关系与代码实际的方法调用关系不同。
技术实现思路
1、本申请实施例提供一种调用链路图更新的方法、装置、设备及计算机存储介质、产品程序,以解决现有技术在系统需求迭代的过程中设计文档内容容易出现缺失,导致获取的调用关系与代码实际的方法调用关系不同的问题。
2、第一方面,本申请实施例提供了一种调用链路图更新的方法,方法包括:
3、在项目启动时注册文档监听事件,文档为项目的代码文档;
4、在监听到文档变更时,获取文档变更内容;
5、在文档变更内容包括调用方法变更内容的情况下,基于调用方法变更内容对调用链路图进行更新,其中,调用链路图的节点表示调用方法的名称,调用链路图的边表示调用方法之间的调用关系,调用链路图基于抽象语法树生成,抽象语法树中的各节点表示代码的语法结构。
6、第二方面,本申请实施例提供了一种调用链路图更新的装置,装置包括:
7、注册模块,用于在项目启动时注册文档监听事件,文档为项目的代码文档;
8、获取模块,用于在监听到文档变更时,获取文档变更内容;
9、更新模块,用于在文档变更内容包括调用方法变更内容的情况下,基于调用方法变更内容对调用链路图进行更新,其中,调用链路图的节点表示调用方法的名称,调用链路图的边表示调用方法之间的调用关系,调用链路图基于抽象语法树生成,抽象语法树中的各节点表示代码的语法结构。
10、第三方面,本申请实施例提供了一种终端设备,设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面的调用链路图更新的方法。
11、第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的调用链路图更新的方法。
12、第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如第一方面的调用链路图更新的方法。
13、本申请实施例提供一种调用链路图更新的方法、装置、设备及计算机存储介质、产品程序,在项目启动时注册文档监听事件,文档为项目的代码文档,可以确保在整个项目周期内对代码文档的变更进行实时监控;在监听到文档变更时,获取文档变更内容;在文档变更内容包括调用方法变更内容的情况下,基于调用方法变更内容对调用链路图进行更新,其中,调用链路图的节点表示调用方法的名称,调用链路图的边表示调用方法之间的调用关系,调用链路图基于抽象语法树生成,抽象语法树中的各节点表示代码中的语法结构,基于调用方法变更内容对调用链路图进行更新,通过自动化监控和更新,确保了调用链路图中的方法调用关系与代码实际的方法调用关系相同。
1.一种调用链路图更新的方法,其特征在于,包括:
2.根据权利要求1所述的调用链路图更新的方法,其特征在于,所述在所述文档变更内容包括调用方法变更内容的情况下,基于所述调用方法变更内容对调用链路图进行更新,包括:
3.根据权利要求1所述的调用链路图更新的方法,其特征在于,在所述文档变更内容包括调用方法变更内容的情况下,基于所述调用方法变更内容对调用链路图进行更新之前,所述方法还包括:
4.根据权利要求3所述的调用链路图更新的方法,其特征在于,所述解析抽象语法树获取调用方法的调用信息,包括:
5.根据权利要求4所述的调用链路图更新的方法,其特征在于,所述在预设的缓存层中不包括目标调用方法的调用信息的情况下,解析目标调用方法,包括:
6.根据权利要求4所述的调用链路图更新的方法,其特征在于,所述调用信息还包括调用方法所在类名称和调用方法参数类型,所述将调用信息保存在缓存层,包括:
7.根据权利要求3所述的调用链路图更新的方法,其特征在于,所述根据调用方法名称和调用关系生成调用链路图,包括:
8.根据权利要求2所述的调用链路图更新的方法,其特征在于,在文档变更内容包括调用方法变更内容的情况下,存储调用方法变更内容后,所述方法还包括:
9.根据权利要求2所述的调用链路图更新的方法,其特征在于,在文档变更内容包括调用方法变更内容的情况下,存储调用方法变更内容后,所述方法还包括:
10.根据权利要求1所述的一种调用链路图更新的方法,其特征在于,所述调用链路图还包括调用类型和调用条件的至少一项。