[发明专利]软件项目重构方法、装置、计算机装置及存储介质在审
| 申请号: | 201910728484.4 | 申请日: | 2019-08-08 |
| 公开(公告)号: | CN110659063A | 公开(公告)日: | 2020-01-07 |
| 发明(设计)人: | 王保军 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
| 主分类号: | G06F8/72 | 分类号: | G06F8/72;G06F8/41 |
| 代理公司: | 44334 深圳市赛恩倍吉知识产权代理有限公司 | 代理人: | 陈敬华;刘丽华 |
| 地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 文件夹 新软件 预定文件 抽象语法树 原软件 层级 计算机装置 存储介质 名称修改 命令修改 目标路径 软件缺陷 软件项目 项目构建 预警信息 遍历 预设 重构 解析 复制 检测 委托 | ||
1.一种软件项目重构方法,其特征在于,所述方法包括:
复制原软件项目到目标路径,得到新软件项目;
提取所述新软件项目中所有的文件夹,生成所述文件夹的层级结构图;
接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称,并根据所述层级结构图修改所述指定文件夹下的预定文件的包路径;
将所述预定文件解析为抽象语法树;
遍历所述抽象语法树得到所述预定文件中的所有函数,检测所述所有函数中的委托的数量;
若所述所有函数中的委托的数量大于或等于预设阈值,则发出预警信息。
2.如权利要求1所述的方法,其特征在于,所述接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称包括:
根据所述层级结构图生成所述新软件项目的文件夹设置界面;
接收用户在所述文件夹设置界面中对所述层级结构中的指定文件夹的名称修改指令;
将所述指定文件夹的名称修改为用户设置的目标名称。
3.如权利要求1所述的方法,其特征在于,所述检测所述所有函数中的委托的数量包括:
检测所述所有函数中的每个函数是否调用其他接口或类;
计算所述所有函数调用其他接口或类的次数。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
判断所述新软件项目的SQL文件是否包含自定义类;
若所述新软件项目的SQL文件中包含自定义类,则根据所述指定文件夹的修改相应修改所述SQL文件中所述自定义类的路径。
5.如权利要求4所述的方法,其特征在于,所述判断所述新软件项目的SQL文件是否包含自定义类包括:
获取所述SQL文件中的SQL语句;
判断所述SQL语句的输入参数和输出参数中是否包含自定义类。
6.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
接收对所述新软件项目的数据源修改命令;
根据所述数据源修改命令修改所述新软件项目的数据源信息。
7.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
对所述新软件项目进行编译、打包;
验证编译、打包后的所述新软件项目是否能够正常启动。
8.一种软件项目重构装置,其特征在于,所述装置包括:
获取模块,用于复制原软件项目到目标路径,得到新软件项目;
提取模块,用于提取所述新软件项目中所有的文件夹,生成所述文件夹的层级结构图;
第一修改模块,用于接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称,并根据所述层级结构图修改所述指定文件夹下的预定文件的包路径;
解析模块,用于将所述预定文件解析为抽象语法树;
检测模块,用于遍历所述抽象语法树得到所述预定文件中的所有函数,检测所述所有函数中的委托的数量;
预警模块,用于若所述所有函数中的委托的数量大于或等于预设阈值,则发出预警信息。
9.一种计算机装置,其特征在于:所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1-7中任一项所述软件项目重构方法。
10.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述软件项目重构方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910728484.4/1.html,转载请声明来源钻瓜专利网。





