代码验证方法、装置、设备及存储介质与流程

    专利2025-04-06  34


    本申请涉及代码验证,具体而言,本申请涉及一种代码验证方法、装置、设备及存储介质。


    背景技术:

    1、实际项目开发过程中,可能会有多个代码仓库。例如,经典的网页(web)开发模式mvc(model view controller,全称为:模型-视图-控制器)中,模型(model)层和控制器(controller)层可能由后端团队开发,视图(view)层由前端团队开发。考虑到前、后端技术分离,以及便于团队管理等原因,整个项目被拆分为两个代码仓库,分别由不同的团队负责开发。

    2、在开发过程中,一个项目包括多个用于实现不同功能或目的的子项目,进而需要建立对应不同子项目的多个代码仓库,这些代码仓库相互独立,并在验证时,逐一对每个代码仓库中的代码进行验证。然而,功能代码常常是分散于多个子项目中,即不同项目对应的代码之间存在依赖关系,但是不同的项目对应的代码仓库相互独立。那么,在代码验证阶段,对于某个功能进行验证时,需要将拉取该功能相关的多个代码仓库的代码以进行验证。然而,用于验证的持续集成工具只能在单个代码仓库的基础上进行验证。导致开发人员只能在开发完成后,将项目相关的所有代码仓库组合为一个整体文件进行验证,难以在代码入库前发现代码的问题,并且,存在问题的代码入库可能对后续其他子项目的开发造成干扰或连锁影响,从而使得验证时,需要针对该干扰或连锁影响进行大量修改,延长开发时间和增大开发成本。


    技术实现思路

    1、本申请实施例提供了一种代码验证方法、装置、设备及介质,可以解决在代码入库前无法验证代码的问题。为了实现该目的,本申请实施例提供了如下几种方案。

    2、根据本申请实施例的一个方面,提供了一种代码验证方法,包括:

    3、响应于提交代码操作所触发的代码审查事件,根据预存的代码管理文件、所述代码审查事件进行任务确认,所述代码管理文件包括提交的代码对应的代码仓库的信息;

    4、基于任务确认结果提取所述代码审查事件对应的目标代码的标识信息,根据所述标识信息进行提交代码操作检索,所述标识信息包括指示所述目标代码以及所述目标代码依赖的代码对应的提交代码操作的信息;

    5、根据检索结果、所述代码管理文件生成待验证代码管理文件,以通过所述待验证代码管理文件进行代码验证,所述待验证代码管理文件包括所述提交代码操作对应的代码仓库的信息。

    6、在一个可能的实现方式中,所述响应于提交代码所触发的代码审查事件,包括:

    7、基于预设信息与代码审查对象连接,所述预设信息包括代码管理文件以及包括代码审查对象信息;

    8、监听代码提交至所述代码仓库对应的存储对象所触发的代码审查事件。

    9、在一个可能的实现方式中,所述根据预存的代码管理文件、所述代码审查事件进行任务确认,包括:

    10、若确定所述代码审查事件包括触发的补丁上传事件,则将所述代码管理文件与所述代码审查事件中的项目、分支信息进行匹配;

    11、若存在与所述项目、分支信息匹配的所述代码管理文件,则确定任务确认成功。

    12、在一个可能的实现方式中,所述预设信息包括所述标识信息对应的正则表达式,所述基于任务确认结果提取所述代码审查事件对应的目标代码的标识信息,包括:

    13、若确定任务确认成功,获取所述代码审查事件对应的提交信息,利用正则表达式提取所述提交信息中的标识信息。

    14、在一个可能的实现方式中,所述预设信息包括所述标识信息对应的正则表达式,所述基于任务确认结果提取所述代码审查事件对应的目标代码的标识信息,包括:

    15、若确定任务确认成功,获取所述代码审查事件对应的提交信息,利用正则表达式提取所述提交信息中的标识信息。

    16、在一个可能的实现方式中,所述根据检索结果、所述代码管理文件生成待验证代码管理文件,包括:

    17、根据所述检索结果确定待验证代码信息,所述待验证代码信息包括检索到的提交代码操作对应的代码的信息;

    18、根据所述待验证代码信息修改所述代码管理文件,生成所述待验证代码管理文件,所述待验证代码管理文件包括所述待验证代码对应的代码仓库。

    19、在一个可能的实现方式中,预设信息还包括不同代码管理文件对应与代码验证对象的对应信息,所述通过所述待验证代码管理文件进行代码验证,包括:

    20、根据所述对应信息将所述待验证代码管理文件提交给所述代码验证对象以使所述代码验证对象根据所述待验证代码管理文件对应的提交代码操作的信息对所述待验证代码进行标记,利用所述待验证代码管理文件获取标记后的所述待验证代码,验证所述待验证代码,根据验证结果修改所述待验证代码的标记。

    21、根据本申请实施例的一个方面,提供一种代码验证装置,包括:

    22、任务确认模块,用于响应于提交代码所触发的代码审查事件,根据预存的代码管理文件、所述代码审查事件进行任务确认,所述代码管理文件包括提交的代码对应的代码仓库的信息;

    23、提交代码操作检索模块,用于基于任务确认结果提取所述代码审查事件对应的目标代码的标识信息,根据所述标识信息进行提交代码操作检索,所述标识信息包括指示所述目标代码依赖的代码对应的提交代码操作的信息;

    24、管理文件生成模块,用于根据检索结果、所述代码管理文件生成待验证代码管理文件,以通过所述待验证代码管理文件进行代码验证,所述待验证代码管理文件包括所述提交代码操作对应的代码仓库的信息。

    25、根据本申请实施例的一个方面,提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如上所述方法的步骤。

    26、根据本申请实施例的再一个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。

    27、本申请实施例提供的技术方案带来的有益效果是:

    28、本申请提供一种代码验证方法,具体地,本申请实施例在响应提交代码所触发的代码审查事件时,根据预存的代码管理文件、代码审查事件进行任务确认,继而基于任务确认结果从代码审查事件中提取目标代码的标识信息,根据该标识信息进行提交代码操作检索,进而根据检索结果、代码管理文件生成待验证代码管理文件,以利用待验证代码管理文件进行代码验证。本申请实施例能够在代码入库前,得到待验证的目标代码相关的提交代码操作,利用该提交代码操作获取目标代码依赖的其他代码,根据该目标代码以及依赖的其他代码实现目标代码的验证,便于在代码入库前得到用于代码验证的代码,进而快速发现代码的问题,降低问题代码带来的影响,缩短开发时间,有效降低开发成本。



    技术特征:

    1.一种代码验证方法,其特征在于,包括:

    2.根据权利要求1所述的代码验证方法,其特征在于,所述响应于提交代码所触发的代码审查事件,包括:

    3.根据权利要求1所述的代码验证方法,其特征在于,所述根据预存的代码管理文件、所述代码审查事件进行任务确认,包括:

    4.根据权利要求2所述的代码验证方法,其特征在于,所述预设信息包括所述标识信息对应的正则表达式;

    5.根据权利要求2所述的代码验证方法,其特征在于,所述预设信息还包括代码提交对象的信息,所述标识信息还包括所述提交代码操作的数量;

    6.根据权利要求2所述的代码验证方法,其特征在于,所述根据检索结果、所述代码管理文件生成待验证代码管理文件,包括:

    7.根据权利要求6所述的代码验证方法,其特征在于,预设信息还包括不同代码管理文件对应与代码验证对象的对应信息,所述通过所述待验证代码管理文件进行代码验证,包括:

    8.一种代码验证装置,其特征在于,包括:

    9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如权利要求1-7任一项所述方法的步骤。

    10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。


    技术总结
    本申请提供了一种代码验证方法、装置、设备及介质,涉及代码验证技术领域。该方法包括:响应于提交代码操作所触发的代码审查事件,根据预存的代码管理文件、代码审查事件进行任务确认;基于任务确认结果提取代码审查事件对应的目标代码的标识信息,根据标识信息进行提交代码操作检索;根据检索结果、代码管理文件生成待验证代码管理文件,以通过待验证代码管理文件进行代码验证。本申请实施例能够在代码入库前得到用于代码验证的功能代码的完整代码,进而快速发现代码的问题,降低问题代码带来的影响,缩短开发时间,有效降低开发成本。

    技术研发人员:张环宇,张仁龙
    受保护的技术使用者:安谋科技(中国)有限公司
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-85117.html

    最新回复(0)