[发明专利]一种程序代码中调用关系的获取方法、装置及设备在审
申请号: | 201711260813.4 | 申请日: | 2017-12-04 |
公开(公告)号: | CN108021391A | 公开(公告)日: | 2018-05-11 |
发明(设计)人: | 郝小晖 | 申请(专利权)人: | 泰康保险集团股份有限公司 |
主分类号: | G06F8/74 | 分类号: | G06F8/74 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100031 北京市西*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序代码 调用 关系 获取 方法 装置 设备 | ||
本发明公开一种程序代码中调用关系的获取方法,所述方法包括:确定目标对象,并获取所述目标对象的索引信息;所述目标对象为类的属性或方法;获取与所述目标对象对应的待匹配对象的信息列表;其中,所述信息列表包括各个待匹配对象的索引信息;将所述目标对象的索引信息与各个待匹配对象的索引信息进行匹配,并确定第一对象,所述第一对象为与所述目标对象的信息匹配成功的待匹配对象;以所述目标对象作为根节点,且以调用所述第一对象的第二对象作为叶节点,建立表征所述目标对象的调用关系的树形结构。本发明获取的程序代码中类内部的属性或方法的调用关系,能够使用户精细到对类的属性或方法的调用关系进行了解,为程序代码的修改提供参考。
技术领域
本申请涉及数据处理领域,具体涉及一种程序代码中调用关系的获取方法、装置及设备。
背景技术
在软件工程的长期使用过程中,随着业务发展的变化,会不断的增加新的业务功能,或者不断的完善已有的业务功能,因此,软件工程中的程序代码会不断的被调整,例如增加新的业务功能的代码,修改已有的业务功能的代码等。
由于一个软件工程中的程序代码之间通常耦合性较高,对于某一部分程序代码的修改可能会影响相关联的其他程序代码的运行,进而影响到业务功能的实现。为了解决这种“牵一发而动全身”的问题,需要预先对程序代码中的调用关系进行了解,从而有把握的对软件工程的程序代码进行调整,避免盲目的调整程序代码而造成整个软件工程无法正常运行的后果。
发明内容
本发明提供了一种程序代码中调用关系的获取方法、装置及设备,能够获取软件工程的程序代码中的调用关系,用于为程序代码的调整提供参考。
第一方面,本发明提供一种程序代码中调用关系的获取方法,所述方法包括:
确定目标对象,并获取所述目标对象的索引信息;所述目标对象为类的属性或方法;
获取与所述目标对象对应的待匹配对象的信息列表;其中,所述信息列表包括各个待匹配对象的索引信息;
将所述目标对象的索引信息与各个待匹配对象的索引信息进行匹配,并确定第一对象,所述第一对象为与所述目标对象的信息匹配成功的待匹配对象;
以所述目标对象作为根节点,且以调用所述第一对象的第二对象作为叶节点,建立表征所述目标对象的调用关系的树形结构。
可选的,当所述目标对象为类的方法时,所述以所述目标对象作为根节点,且以调用所述第一对象的第二对象作为叶节点,建立表征所述目标对象的调用关系的树形结构之前,还包括:
确定直接或间接调用所述第二对象的第三对象;
相应的,所述以所述目标对象作为根节点,且以调用所述第一对象的第二对象作为叶节点,建立表征所述目标对象的调用关系的树形结构,具体为:
以所述目标对象作为根节点,以调用所述第一对象的第二对象作为枝干节点,且以所述第三对象作为叶节点,建立表征所述目标对象的调用关系的树形结构。
可选的,所述获取所述目标对象的索引信息,具体为:
遍历对所述目标对象的定义代码,并通过对所述定义代码进行分析,得到所述目标对象的索引信息。
可选的,当所述目标对象为类的方法时,所述与所述目标对象对应的待匹配对象为类的方法;
所述索引信息包括所属包的名称、所属类的名称、方法名称、参数类型以及返回值类型。
可选的,当所述目标对象为类的属性时,所述与所述目标对象对应的待匹配对象为类的属性;
所述索引信息包括所属包的名称、所属类的名称以及属性名称。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于泰康保险集团股份有限公司,未经泰康保险集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711260813.4/2.html,转载请声明来源钻瓜专利网。