代码质检方法、代码质检装置、电子设备及存储介质制造方法及图纸

技术编号:37239471 阅读:12 留言:0更新日期:2023-04-20 23:20
本申请涉及计算机技术领域,尤其是涉及一种代码质检方法、代码质检装置、电子设备及存储介质。本申请的代码质检方法首先基于代码管理模块获取目标代码与代码扩展指令,并对代码扩展指令进行解析,得到代码扩展事件,其中代码扩展事件用于基于目标代码扩展原始代码,基于代码管理模块将代码扩展事件从代码管理模块传输至事件回调模块,再基于事件回调模块从预设的接口数据库中匹配得到与代码扩展事件对应的扩展回调接口,基于事件回调模块和扩展回调接口,将目标代码发送至质检模块,最终基于质检模块对目标代码进行质量检测,得到质量检测结果。通过本申请中的代码质检方法能够自动触发对目标代码的质量检测,提升了代码质量检测的效率。检测的效率。检测的效率。

【技术实现步骤摘要】
代码质检方法、代码质检装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其是涉及一种代码质检方法、代码质检装置、电子设备及存储介质。

技术介绍

[0002]代码质量检测指的是对编写完成的程序代码进行检测、测试,检测的内容通常包括代码中基本语法使用是否正确,代码是否存在安全问题,代码是否方便审阅和维护等方面。需要说明,代码质量检测是软件程序开发的重要环节,通常以两种方式来触发用于检查代码质量的指令:其一,人工核查,指定专业的软件工程师对代码进行核查,以确保程序代码符合编写规范;其二,通过开发工具中的插件自行进行代码规范检查。
[0003]相关技术中,以人工核查的方式来进行代码质量检测,受人力限制,难以高效地检测较大规模计算机程序,并且不同的软件工程师对于代码质量的评价标准存在差异,难以客观地评估代码质量。而将第三方插件集成于代码之中,则可能会改变编程架构,同样难以准确、快速地完成代码质量检测,效率较低。因此,如何高效地进行代码质量检测,已经成为业内亟待解决的一个问题。

技术实现思路

[0004]本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种代码质检方法、代码质检装置、电子设备及存储介质,能够高效地进行代码质量检测。
[0005]根据本申请的第一方面实施例的代码质检方法,应用于代码质检装置,所述代码质检装置包括代码管理模块、事件回调模块与质检模块,包括:
[0006]基于所述代码管理模块获取目标代码与代码扩展指令,并对所述代码扩展指令进行解析,得到代码扩展事件,所述代码扩展事件用于基于所述目标代码扩展原始代码;
[0007]基于所述代码管理模块将所述代码扩展事件从所述代码管理模块传输至所述事件回调模块;
[0008]基于所述事件回调模块从预设的接口数据库中匹配得到与所述代码扩展事件对应的扩展回调接口;
[0009]基于所述事件回调模块和所述扩展回调接口,将所述目标代码发送至所述质检模块;
[0010]基于所述质检模块对所述目标代码进行质量检测,得到质量检测结果。
[0011]根据本申请的一些实施例,所述基于所述代码管理模块获取目标代码与代码扩展指令,并对所述代码扩展指令进行解析,得到代码扩展事件,包括:
[0012]对所述代码扩展指令进行解析,得到代码创建事件,所述代码创建事件用于创建所述目标代码;
[0013]将所述代码创建事件确定为所述代码扩展事件。
[0014]根据本申请的一些实施例,所述基于所述代码管理模块获取目标代码与代码扩展
指令,并对所述代码扩展指令进行解析,得到代码扩展事件,还包括:
[0015]对所述代码扩展指令进行解析,得到代码更新事件,所述代码更新事件用于将所述目标代码并入所述原始代码;
[0016]将所述代码更新事件确定为所述代码扩展事件。
[0017]根据本申请的一些实施例,所述基于所述事件回调模块从预设的接口数据库中匹配得到与所述代码扩展事件对应的扩展回调接口,包括:
[0018]为所述事件回调模块配置网络钩子机制;
[0019]所述事件回调模块基于所述网络钩子机制,从所述接口数据库中匹配得到与所述代码扩展事件对应的所述扩展回调接口。
[0020]根据本申请的一些实施例,所述基于所述质检模块对所述目标代码进行质量检测,得到质量检测结果,包括:
[0021]基于所述质检模块对所述目标代码进行解析,得到与所述目标代码对应的目标语法树;
[0022]基于预设代码规则对所述目标语法树进行质量检测,得到所述质量检测结果。
[0023]根据本申请的一些实施例,所述目标语法树包括多个分支节点,每一所述分支节点对应所述目标代码中的一个语法结构,所述基于预设代码规范对所述目标语法树进行质量检测,得到所述质量检测结果,包括:
[0024]基于所述预设代码规则对所述目标语法树的各个所述分支节点进行规则比对,得到比对结果;
[0025]基于所述比对结果,确定所述目标代码中不符合所述预设代码规则的问题代码以及与所述问题代码对应的问题定位信息;
[0026]根据所述问题代码与所述问题定位信息,得到所述质量检测结果。
[0027]根据本申请的一些实施例,所述基于所述质检模块对所述目标代码进行质量检测,得到质量检测结果,包括:
[0028]基于所述质检模块将所述目标代码与所述原始代码进行差异比对,得到增量代码;
[0029]基于所述增量代码进行质量检测,得到所述质量检测结果。
[0030]根据本申请的第二方面实施例的代码质检装置,包括:
[0031]代码管理模块,用于获取目标代码与代码扩展指令,并对所述代码扩展指令进行解析,得到代码扩展事件,所述代码扩展事件用于基于所述目标代码扩展原始代码,并将所述代码扩展事件传输至所述事件回调模块;
[0032]事件回调模块,用于从预设的接口数据库中匹配得到与所述代码扩展事件对应的扩展回调接口,并将所述目标代码发送至所述质检模块;
[0033]质检模块,用于对所述目标代码进行质量检测,得到质量检测结果。
[0034]第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如本申请第一方面实施例中任意一项所述的代码质检方法。
[0035]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行实现如本申请第一方面实施例中任
意一项所述的代码质检方法。
[0036]根据本申请实施例的代码质检方法、代码质检装置、电子设备及存储介质,至少具有如下有益效果:
[0037]本申请的代码质检方法应用于代码质检装置,代码质检装置包括代码管理模块、事件回调模块与质检模块,首先基于代码管理模块获取目标代码与代码扩展指令,并对代码扩展指令进行解析,得到代码扩展事件,其中代码扩展事件用于基于目标代码扩展原始代码,基于代码管理模块将代码扩展事件从代码管理模块传输至事件回调模块,再基于事件回调模块从预设的接口数据库中匹配得到与代码扩展事件对应的扩展回调接口,进一步,基于事件回调模块和扩展回调接口,将目标代码发送至质检模块,最终基于质检模块对目标代码进行质量检测,得到质量检测结果。通过本申请中的代码质检方法在获取目标代码与代码扩展指令之后,能够自动触发对目标代码的质量检测,提升了代码质量检测的效率。
[0038]本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
[0039]本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0040]图1为本申请实施例提供的代码质检方法的流程示意图;
[0041]图2为本申请实施例步骤S101的一个可选的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码质检方法,应用于代码质检装置,所述代码质检装置包括代码管理模块、事件回调模块与质检模块,其特征在于,包括:基于所述代码管理模块获取目标代码与代码扩展指令,并对所述代码扩展指令进行解析,得到代码扩展事件,所述代码扩展事件用于基于所述目标代码扩展原始代码;基于所述代码管理模块将所述代码扩展事件从所述代码管理模块传输至所述事件回调模块;基于所述事件回调模块从预设的接口数据库中匹配得到与所述代码扩展事件对应的扩展回调接口;基于所述事件回调模块和所述扩展回调接口,将所述目标代码发送至所述质检模块;基于所述质检模块对所述目标代码进行质量检测,得到质量检测结果。2.根据权利要求1所述的方法,其特征在于,所述基于所述代码管理模块获取目标代码与代码扩展指令,并对所述代码扩展指令进行解析,得到代码扩展事件,包括:对所述代码扩展指令进行解析,得到代码创建事件,所述代码创建事件用于创建所述目标代码;将所述代码创建事件确定为所述代码扩展事件。3.根据权利要求1所述的方法,其特征在于,所述基于所述代码管理模块获取目标代码与代码扩展指令,并对所述代码扩展指令进行解析,得到代码扩展事件,还包括:对所述代码扩展指令进行解析,得到代码更新事件,所述代码更新事件用于将所述目标代码并入所述原始代码;将所述代码更新事件确定为所述代码扩展事件。4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述事件回调模块从预设的接口数据库中匹配得到与所述代码扩展事件对应的扩展回调接口,包括:为所述事件回调模块配置网络钩子机制;所述事件回调模块基于所述网络钩子机制,从所述接口数据库中匹配得到与所述代码扩展事件对应的所述扩展回调接口。5.根据权利要求1所述的方法,其特征在于,所述基于所述质检模块对所述目标代码进行质量检测,得到质量检测结果,包括:基于所述质检模块对所述...

【专利技术属性】
技术研发人员:臧金锐
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:

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

1