软件项目重构方法、装置、计算机装置及存储介质制造方法及图纸

技术编号:23049436 阅读:19 留言:0更新日期:2020-01-07 14:40
本发明专利技术提供了一种软件项目重构方法、装置、计算机装置及存储介质。所述方法包括:复制原软件项目到目标路径,得到新软件项目;提取新软件项目中所有的文件夹,生成文件夹的层级结构图;根据对层级结构图中指定文件夹的名称修改命令修改指定文件夹的名称及指定文件夹下预定文件的包路径;将预定文件解析为抽象语法树;遍历抽象语法树得到预定文件中的所有函数;若所有函数中委托的数量大于或等于预设阈值,则发出预警信息。本发明专利技术实现了根据原软件项目构建新软件项目,并能够检测新软件项目中的软件缺陷。

Software project reconstruction methods, devices, computer devices and storage media

【技术实现步骤摘要】
软件项目重构方法、装置、计算机装置及存储介质
本专利技术涉及软件
,具体涉及一种软件项目重构方法、装置、计算机装置及计算机存储介质。
技术介绍
在软件开发中,经常涉及到软件项目重构,即进行软件项目的代码迁移或者借助已有系统重新构建新系统。软件项目重构往往需要根据实际需要修改文件夹名称,修改文件夹名称之后,包路径需要相应修改。当软件项目的规模较大时,包路径的修改容易不完整,引起软件运行错误,并且容易出现软件缺陷。
技术实现思路
鉴于以上内容,有必要提出一种软件项目重构方法、装置、计算机装置及计算机存储介质,其可以快速地根据原有的软件项目构建新的软件项目,并能够检测新的软件项目中的软件缺陷。本申请的第一方面提供一种软件项目重构方法,所述方法包括:复制原软件项目到目标路径,得到新软件项目;提取所述新软件项目中所有的文件夹,生成所述文件夹的层级结构图;接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称,并根据所述层级结构图修改所述指定文件夹下的预定文件的包路径;将所述预定文件解析为抽象语法树;遍历所述抽象语法树得到所述预定文件中的所有函数,检测所述所有函数中的委托的数量;若所述所有函数中的委托的数量大于或等于预设阈值,则发出预警信息。另一种可能的实现方式中,所述接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称包括:根据所述层级结构图生成所述新软件项目的文件夹设置界面;接收用户在所述文件夹设置界面中对所述层级结构中的指定文件夹的名称修改指令;将所述指定文件夹的名称修改为用户设置的目标名称。另一种可能的实现方式中,所述检测所述所有函数中的委托的数量包括:检测所述所有函数中的每个函数是否调用其他接口或类;计算所述所有函数调用其他接口或类的次数。另一种可能的实现方式中,所述方法还包括:判断所述新软件项目的SQL文件是否包含自定义类;若所述新软件项目的SQL文件中包含自定义类,则根据所述指定文件夹的修改相应修改所述SQL文件中所述自定义类的路径。另一种可能的实现方式中,所述判断所述新软件项目的SQL文件是否包含自定义类包括:获取所述SQL文件中的SQL语句;判断所述SQL语句的输入参数和输出参数中是否包含自定义类。另一种可能的实现方式中,所述方法还包括:接收对所述新软件项目的数据源修改命令;根据所述数据源修改命令修改所述新软件项目的数据源信息。另一种可能的实现方式中,所述方法还包括:对所述新软件项目进行编译、打包;验证编译、打包后的所述新软件项目是否能够正常启动。本申请的第二方面提供一种软件项目重构装置,所述装置包括:获取模块,用于复制原软件项目到目标路径,得到新软件项目;提取模块,用于所述新软件项目中所有的文件夹,生成所述文件夹的层级结构图;第一修改模块,用于接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称,并根据所述层级结构图修改所述指定文件夹下的预定文件的包路径;解析模块,用于将所述预定文件解析为抽象语法树;检测模块,用于遍历所述抽象语法树得到所述预定文件中的所有函数,检测所述所有函数中的委托的数量;预警模块,用于若所述所有函数中的委托的数量大于或等于预设阈值,则发出预警信息。本申请的第三方面提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述软件项目重构方法。本申请的第四方面提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述软件项目重构方法。本专利技术复制原软件项目到目标路径,得到新软件项目;提取所述新软件项目中所有的文件夹,生成所述文件夹的层级结构图;接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称,并根据所述层级结构图修改所述指定文件夹下的预定文件的包路径;将所述预定文件解析为抽象语法树;遍历所述抽象语法树得到所述预定文件中的所有函数,检测所述所有函数中的委托的数量;若所述所有函数中的委托的数量大于或等于预设阈值,则发出预警信息。本专利技术实现了根据原有的软件项目构建新的软件项目,并能够检测新的软件项目中的软件缺陷。附图说明图1是本专利技术实施例提供的软件项目重构方法的流程图。图2是本专利技术实施例提供的软件项目重构装置的结构图。图3是本专利技术实施例提供的计算机装置的示意图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施例对本专利技术进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。优选地,本专利技术的软件项目重构方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程门阵列(Field-ProgrammableGateArray,FPGA)、数字处理器(DigitalSignalProcessor,DSP)、嵌入式设备等。所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。实施例一图1是本专利技术实施例一提供的软件项目重构方法的流程图。所述软件项目重构方法应用于计算机装置,用于快速地根据原有的软件项目构建新的软件项目,并能够检测新的软件项目中的软件缺陷。如图1所示,所述软件项目重构方法包括:S101,复制原软件项目到目标路径,得到新软件项目。可以生成软件项目路径设置界面,接收用户在所述软件项目路径设置界面设置的源路径(即原软件项目的根路径)和目标路径(即新软件项目的根路径),从所述源路径获取所述原软件项目,将所述原软件项目复制到所述目标路径,得到所述新软件项目。例如,源路径是D:\com\project1,目标路径是D:\com\project2,从源路径D:\com\project1获本文档来自技高网
...

【技术保护点】
1.一种软件项目重构方法,其特征在于,所述方法包括:/n复制原软件项目到目标路径,得到新软件项目;/n提取所述新软件项目中所有的文件夹,生成所述文件夹的层级结构图;/n接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称,并根据所述层级结构图修改所述指定文件夹下的预定文件的包路径;/n将所述预定文件解析为抽象语法树;/n遍历所述抽象语法树得到所述预定文件中的所有函数,检测所述所有函数中的委托的数量;/n若所述所有函数中的委托的数量大于或等于预设阈值,则发出预警信息。/n

【技术特征摘要】
1.一种软件项目重构方法,其特征在于,所述方法包括:
复制原软件项目到目标路径,得到新软件项目;
提取所述新软件项目中所有的文件夹,生成所述文件夹的层级结构图;
接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称,并根据所述层级结构图修改所述指定文件夹下的预定文件的包路径;
将所述预定文件解析为抽象语法树;
遍历所述抽象语法树得到所述预定文件中的所有函数,检测所述所有函数中的委托的数量;
若所述所有函数中的委托的数量大于或等于预设阈值,则发出预警信息。


2.如权利要求1所述的方法,其特征在于,所述接收对所述层级结构图中的指定文件夹的名称修改命令,根据所述名称修改命令修改所述指定文件夹的名称包括:
根据所述层级结构图生成所述新软件项目的文件夹设置界面;
接收用户在所述文件夹设置界面中对所述层级结构中的指定文件夹的名称修改指令;
将所述指定文件夹的名称修改为用户设置的目标名称。


3.如权利要求1所述的方法,其特征在于,所述检测所述所有函数中的委托的数量包括:
检测所述所有函数中的每个函数是否调用其他接口或类;
计算所述所有函数调用其他接口或类的次数。


4.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
判断所述新软件项目的SQL文件是否包含自定义类;
若所述新软件项目的SQL文件中包含自定义类,则根据所述指定文件夹的修改相应修改所述SQL文件中所述自定义类的路径。


5.如权利要求4所述的方法,其特征在于,所述判断所述新软件项目的SQL文件是否包含自定义类包括...

【专利技术属性】
技术研发人员:王保军
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1