首页 / 专利库 / 软件 / 软件回归测试 / 一种代码审查方法及其设备

一种代码审查方法及其设备

阅读:873发布:2020-05-22

专利汇可以提供一种代码审查方法及其设备专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开一种代码审查方法及其设备,其中方法包括如下步骤:获取所输入的待审查代码,基于代码审查 软件 调用软件项目对所述待审查代码进行静态审查,当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码,以使开发人员对所述待审查代码进行初步审查,当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查,当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。采用本发明,通过在代码审查中引入代码审查软件和软件项目实现对代码的逐层审查,可以实现一套完整的自动化代码审查流程,从而可以提高代码审查的专业性、安全性以及审查 力 度。,下面是一种代码审查方法及其设备专利的具体信息内容。

1.一种代码审查方法,其特征在于,包括:
获取所输入的待审查代码,基于代码审查软件调用软件项目对所述待审查代码进行静态审查;
当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码,以使开发人员对所述待审查代码进行初步审查;
当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查,所述再次审查包括功能测试、模测试和系统测试;
当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。
2.根据权利要求1所述的方法,其特征在于,所述开发人员包括初步审查人员和管理人员,所述基于所述代码审查软件显示输出所述待审查代码之后,所述方法还包括:
获取初步审查人员一次审查后输入的第一审查结果;
获取所述管理人员二次审查后输入的第二审查结果,所述二次审查是对所述静态审查和所述一次审查的复核;
当所述第一审查结果和/或所述第二审查结果合格时确认所述初步审查结果为合格。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当对所述待审查代码进行审查的任一环节存在审查结果不合格时,输出不合体提示信息,所述不合格提示信息包括提示所述待审查代码不合格的部分和不合格提示界面。
4.根据权利要求1所述的方法,其特征在于,所述代码审查软件为Gerrit,所述软件项目为Jenkins。
5.根据权利要求1所述的方法,其特征在于,所述将所述待审查代码存储至代码库之后,所述方法还包括:
基于预设时间段对所述待审查代码进行回归测试。
6.一种代码审查设备,其特征在于,包括:
静态审查单元,用于获取所输入的待审查代码,基于代码审查软件调用软件项目对所述待审查代码进行静态审查;
输出显示单元,用于当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码,以使开发人员对所述待审查代码进行初步审查;
再次审查单元,用于当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查,所述再次审查包括功能测试、模块测试和系统测试;
代码存储单元,用于当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。
7.根据权利要求6所述的设备,其特征在于,所述开发人员包括初步审查人员和管理人员,所述设备还包括:
第一结果获取单元,用于获取初步审查人员一次审查后输入的第一审查结果;
第二结果获取单元,用于获取所述管理人员二次审查后输入的第二审查结果,所述二次审查是对所述静态审查和所述一次审查的复核;
结果确认单元,用于当所述第一审查结果和/或所述第二审查结果合格时确认所述初步审查结果为合格。
8.根据权利要求6所述的设备,其特征在于,所述设备还包括:
提示信息输出单元,用于当对所述待审查代码进行审查的任一环节存在审查结果不合格时,输出不合体提示信息,所述不合格提示信息包括提示所述待审查代码不合格的部分和不合格提示界面。
9.根据权利要求6所述的设备,其特征在于,所述代码审查软件为Gerrit,所述软件项目为Jenkins。
10.根据权利要求6所述的设备,其特征在于,所述设备还包括:
回归测试单元,用于基于预设时间段对所述待审查代码进行回归测试。

说明书全文

一种代码审查方法及其设备

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种代码审查方法及其设备。

背景技术

[0002] 随着互联网技术与企业规模的发展,所有项目的代码量不断提高。在项目发展初期,实现需求并完善功能是第一目的,而伴随着代码量的逐步提高与对项目质量的重视程度不断提高,代码审查就出现了。现阶段使用较多的代码管理仓库为Gitlab与Github,这些平台提供了一些代码审查机制,但存在诸多不足并缺乏审查专业性。
[0003] 现有技术中的代码审查方案主要有以下三种:
[0004] 1、直接入库。本地代码开发完成之后,直接使用git push推到远程仓库中,这种方式从根本上就缺乏review。从而导致代码可维护性差,且安全性较低。
[0005] 2、入库之后进行代码审查。这种方式虽然有代码审查的步骤但有诸多弊端,这种方式存在明显滞后性,当代码已经入库之后再进行审查就不再方便修改代码,从而增加了审查步骤增加了审查成本。
[0006] 3、使用merge request。Gitlab提供了merge request的方案,但这种方案在审查的颗粒度上明显较粗,只能使用分支,限制了代码审查的自由性。

发明内容

[0007] 本发明实施例提供一种代码审查方法及其设备,通过在代码审查中引入代码审查软件和软件项目实现对代码的逐层审查,可以实现一套完整的自动化代码审查流程,从而可以提高代码审查的专业性、安全性以及审查度。
[0008] 本发明实施例第一方面提供了一种代码审查方法,可包括:
[0009] 获取所输入的待审查代码,基于代码审查软件调用软件项目对所述待审查代码进行静态审查;
[0010] 当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码,以使开发人员对所述待审查代码进行初步审查;
[0011] 当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查,所述再次审查包括功能测试、模测试和系统测试;
[0012] 当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。
[0013] 本发明实施例第二方面提供了一种代码审查设备,可包括:
[0014] 静态审查单元,用于获取所输入的待审查代码,基于代码审查软件调用软件项目对所述待审查代码进行静态审查;
[0015] 输出显示单元,用于当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码,以使开发人员对所述待审查代码进行初步审查;
[0016] 再次审查单元,用于当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查,所述再次审查包括功能测试、模块测试和系统测试;
[0017] 代码存储单元,用于当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。
[0018] 在本发明实施例中,通过获取所输入的待审查代码,基于代码审查软件调用软件项目对待审查代码进行静态审查,当静态审查的结果为合格时,基于代码审查软件显示输出待审查代码,以使开发人员对待审查代码进行初步审查,当初步审查的结果为合格时,基于软件项目对待审查代码进行再次审查,当再次审查的结果为合格时,将待审查代码存储至代码库。通过在代码审查中引入代码审查软件和软件项目实现对代码的逐层审查,实现了一套完整的自动化代码审查流程,提高了代码审查的专业性、安全性以及审查力度。附图说明
[0019] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1是本发明实施例提供的一种代码审查方法的流程示意图;
[0021] 图2是本发明实施例提供的另一种代码审查方法的流程示意图;
[0022] 图3是本发明实施例提供的一种代码审查设备的结构示意图;
[0023] 图4是本发明实施例提供的另一种代码审查设备的结构示意图。

具体实施方式

[0024] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025] 下面将结合附图1和附图2,对本发明实施例提供的代码审查方法进行详细介绍。
[0026] 请参见图1,为本发明实施例提供了一种代码审查方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S104。
[0027] S101,获取所输入的待审查代码,基于代码审查软件调用软件项目对所述待审查代码进行静态审查。
[0028] 具体的,代码审查设备可以获取本地提交的待审查代码,可以理解的是,所述待审查代码可以是研发人员新开发的一组代码,本地提交代码时可以采用Git这一开源的分布式版本控制系统进行提交,提交流程可以是:
[0029] $git add
[0030] $git commit–m“commit msg”
[0031] $git push origin master:refs/for/master
[0032] 进一步的,所述代码审查设备可以基于代码审查软件调用软件项目对所述待审查代码进行静态审查,可以理解的是,所述代码审查软件可以是Gerrit(一种免费、开放源代码的代码审查软件),上述提交流程中的$git push origin master:refs/for/master为Gerrit的规则。所述软件项目可以是Jenkins(一个开源软件项目)。代码提交之后,首先触发静态检查,所述静态审查可以包括代码复杂度,UT覆盖率,代码重复度等。
[0033] S102,当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码。
[0034] 具体的,当所述静态审查的结果为合格,即所述待审查代码的代码复杂度时,UT覆盖率,代码重复度等都合格,所述代码审查设备可以基于所述代码审查软件显示输出所述待审查代码,例如,在Gerrit的网页界面显示所述待审查代码,供其他开发人员对所述待审查代码进行人工审查,可选的,上述显示所述待审查代码的网页界面可以有审查合格和不合格两种选项按钮,开发人员可以根据审查的结果选择相应的选项。当初步审查结果为不合格时,开发人员可以选择不合格选项,所述代码审核设备可以将所述待审核代码退回至代码提交者进行修改。可选的,开发人员也可以在审查的过程中对代码不合格的部分进行标注或者修改。
[0035] S103,当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查。
[0036] 可以理解的是,当初步审查结果为合格时,开发人员可以选择合格选项,所述代码审查设备可以基于所述软件项目对所述待审查代码进行再次审查。所述再次审查可以包括功能测试、模块测试和系统测试。所述功能测试可以是测试本次提交所涉及到的功能是否正常,包括了新增功能测试和之前老功能的回归测试,在经过了功能测试之后本次提交所涉及的功能已经得到了保障,但还不能确保本次提交的改动是否会对该模块的其它功能产生影响,因此还需要有一轮模块测试,测试整个模块功能的正确性;在经过了模块测试之后本模块的功能已经得到确保,但模块与模块之间的功能是否会受到影响还是未知的,因此这里需要系统测试来对各个模块进行测试,确保本次提交并未影响其它模块。
[0037] S104,当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。
[0038] 具体的,当所述再次审查的结果为合格,即上述功能测试、模块测试和系统测试都通过后,所述代码审查设备可以将所述待审查代码存储至代码库。可以理解的是,所述代码库可以是所述代码审查设备中存储代码的数据库
[0039] 在本发明实施例中,通过获取所输入的待审查代码,基于代码审查软件调用软件项目对待审查代码进行静态审查,当静态审查的结果为合格时,基于代码审查软件显示输出待审查代码,以使开发人员对待审查代码进行初步审查,当初步审查的结果为合格时,基于软件项目对待审查代码进行再次审查,当再次审查的结果为合格时,将待审查代码存储至代码库。通过在代码审查中引入代码审查软件和软件项目实现对代码的逐层审查,实现了一套完整的自动化代码审查流程,提高了代码审查的专业性、安全性以及审查力度。
[0040] 请参见图2,为本发明实施例提供了另一种代码审查方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S209。
[0041] S201,获取所输入的待审查代码,基于代码审查软件调用软件项目对所述待审查代码进行静态审查。
[0042] 具体的,代码审查设备可以获取本地提交的待审查代码,可以理解的是,所述待审查代码可以是研发人员新开发的一组代码,本地提交代码时可以采用Git这一开源的分布式版本控制系统进行提交,提交流程可以是:
[0043] $git add
[0044] $git commit–m“commit msg”
[0045] $git push origin master:refs/for/master
[0046] 进一步的,所述代码审查设备可以基于代码审查软件调用软件项目对所述待审查代码进行静态审查,可以理解的是,所述代码审查软件可以是Gerrit(一种免费、开放源代码的代码审查软件),上述提交流程中的$git push origin master:refs/for/master为Gerrit的规则。所述软件项目可以是Jenkins(一个开源软件项目)。代码提交之后,首先触发静态检查,所述静态审查可以包括代码复杂度,UT覆盖率,代码重复度等。
[0047] S202,当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码。
[0048] 具体的,当所述静态审查的结果为合格时,即所述待审查代码的代码复杂度,UT覆盖率,代码重复度等都合格,所述代码审查设备可以基于所述代码审查软件显示输出所述待审查代码,例如,在Gerrit的网页界面显示所述待审查代码,供其他开发人员对所述待审查代码进行人工审查,可选的,上述显示所述待审查代码的网页界面可以有审查合格和不合格两种选项按钮,开发人员可以根据审查的结果选择相应的选项。当初步审查结果为不合格时,开发人员可以选择不合格选项,所述代码审核设备可以将所述待审核代码退回至代码提交者进行修改。可选的,开发人员也可以在审查的过程中对代码不合格的部分进行标注或者修改。
[0049] S203,获取初步审查人员一次审查后输入的第一审查结果。
[0050] 可以理解的是,人工审查的过程可以包括初步审查人员的一次审查过程和和管理人员的二次审查过程,所述二次审查过程可以是对所述静态审查和所述一次审查的复核过程,可以审查是否有自动构建成功,是否有足够的人员认真对代码审查。
[0051] 具体的,所述代码审查设备可以获取初步审查人员一次审查后通过网页界面中的合格或不合格选项按钮输入的第一审查结果。
[0052] S204,获取所述管理人员二次审查后输入的第二审查结果。
[0053] 进一步的,当所述第一审查结果为合格时,所述代码审查设备可以获取所述管理人员二次审查后输入的第二审查结果。
[0054] S205,当所述第一审查结果和/或所述第二审查结果合格时确认所述初步审查结果为合格。
[0055] 具体的,当所述第一审查结果和/或所述第二审查结果合格时,所述代码审查设备可以确认所述初步审查结果为合格,可以理解的是,只有所述静态审查的结果和所述第一审查结果均合格时,所述第二审查结果才合格。
[0056] 在本发明实施例中,通过设置管理人员的再次审查过程,增加了代码审查的可靠性。
[0057] S206,当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查。
[0058] 具体的,当所述初步审查的结果为合格时,所述代码审查设备可以基于所述软件项目对所述待审查代码进行再次审查。所述再次审查可以包括功能测试、模块测试和系统测试。所述功能测试可以是测试本次提交所涉及到的功能是否正常,包括了新增功能测试和之前老功能的回归测试,在经过了功能测试之后本次提交所涉及的功能已经得到了保障,但还不能确保本次提交的改动是否会对该模块的其它功能产生影响,因此还需要有一轮模块测试,测试整个模块功能的正确性;在经过了模块测试之后本模块的功能已经得到确保,但模块与模块之间的功能是否会受到影响还是未知的,因此这里需要系统测试来对各个模块进行测试,确保本次提交并未影响其它模块。
[0059] S207,当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。
[0060] 具体的,当所述再次审查的结果为合格,即上述功能测试、模块测试和系统测试都通过后,所述代码审查设备可以将所述待审查代码存储至代码库。可以理解的是,所述代码库可以是所述代码审查设备中存储代码的数据库。
[0061] S208,基于预设时间段对所述待审查代码进行回归测试。
[0062] 可以理解的是,所述待审查代码存储至所述代码库后,经过一次又一次提交之后代码库中的代码越来越多,功能也越来越多。这里就需要入库之后的产品测试来对整个产品进行整体回归,这样整个产品的质量也可以得到保证,具体的,所述代码审查设备可以基于预设时间段对所述待审查代码进行回归测试,所述预设时间段可以是一天或者一周等其他时间周期。
[0063] S209,当对所述待审查代码进行审查的任一环节存在审查结果不合格时,输出不合体提示信息。
[0064] 可以理解的是,在上述代码审查的过程中任一环节存在审查结果不合格时,所述代码审查设备可以输出不合体提示信息,所述不合格提示信息包括提示所述待审查代码不合格的部分和不合格提示界面。
[0065] 在本发明实施例中,通过获取所输入的待审查代码,基于代码审查软件调用软件项目对待审查代码进行静态审查,当静态审查的结果为合格时,基于代码审查软件显示输出待审查代码,以使开发人员对待审查代码进行初步审查,当初步审查的结果为合格时,基于软件项目对待审查代码进行再次审查,当再次审查的结果为合格时,将待审查代码存储至代码库。通过在代码审查中引入代码审查软件和软件项目实现对代码的逐层审查,实现了一套完整的自动化代码审查流程,提高了代码审查的专业性、安全性以及审查力度;通过设置管理人员的再次审查过程,增加了代码审查的可靠性。
[0066] 下面将结合附图3和附图4,对本发明实施例提供的代码审查设备进行详细介绍。需要说明的是,附图3和附图4所示的代码审查设备,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
[0067] 请参见图3,为本发明实施例提供了一种代码审查设备的结构示意图。如图3所示,本发明实施例的所述代码审查设备1可以包括:静态审查单元11、输出显示单元12、再次审查单元13和代码存储单元14。
[0068] 静态审查单元11,用于获取所输入的待审查代码,基于代码审查软件调用软件项目对所述待审查代码进行静态审查。
[0069] 具体实现中,静态审查单元11可以获取本地提交的待审查代码,可以理解的是,所述待审查代码可以是研发人员新开发的一组代码,本地提交代码时可以采用Git这一开源的分布式版本控制系统进行提交,提交流程可以是:
[0070] $git add
[0071] $git commit–m“commit msg”
[0072] $git push origin master:refs/for/master
[0073] 进一步的,所述静态审查单元11可以基于代码审查软件调用软件项目对所述待审查代码进行静态审查,可以理解的是,所述代码审查软件可以是Gerrit(一种免费、开放源代码的代码审查软件),上述提交流程中的$git push origin master:refs/for/master为Gerrit的规则。所述软件项目可以是Jenkins(一个开源软件项目)。代码提交之后,首先触发静态检查,所述静态审查可以包括代码复杂度,UT覆盖率,代码重复度等。
[0074] 输出显示单元12,用于当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码。
[0075] 具体实现中,当所述静态审查的结果为合格,即所述待审查代码的代码复杂度时,UT覆盖率,代码重复度等都合格,输出显示单元12可以基于所述代码审查软件显示输出所述待审查代码,例如,在Gerrit的网页界面显示所述待审查代码,供其他开发人员对所述待审查代码进行人工审查,可选的,上述显示所述待审查代码的网页界面可以有审查合格和不合格两种选项按钮,开发人员可以根据审查的结果选择相应的选项。当初步审查结果为不合格时,开发人员可以选择不合格选项,所述代码审核设备1可以将所述待审核代码退回至代码提交者进行修改。可选的,开发人员也可以在审查的过程中对代码不合格的部分进行标注或者修改。
[0076] 再次审查单元13,用于当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查。
[0077] 可以理解的是,当初步审查结果为合格时,开发人员可以选择合格选项,再次审查单元13可以基于所述软件项目对所述待审查代码进行再次审查。所述再次审查可以包括功能测试、模块测试和系统测试。所述功能测试可以是测试本次提交所涉及到的功能是否正常,包括了新增功能测试和之前老功能的回归测试,在经过了功能测试之后本次提交所涉及的功能已经得到了保障,但还不能确保本次提交的改动是否会对该模块的其它功能产生影响,因此还需要有一轮模块测试,测试整个模块功能的正确性;在经过了模块测试之后本模块的功能已经得到确保,但模块与模块之间的功能是否会受到影响还是未知的,因此这里需要系统测试来对各个模块进行测试,确保本次提交并未影响其它模块。
[0078] 代码存储单元14,用于当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。
[0079] 具体实现中,当所述再次审查的结果为合格,即上述功能测试、模块测试和系统测试都通过后,代码存储单元14可以将所述待审查代码存储至代码库。可以理解的是,所述代码库可以是所述代码审查设备中存储代码的数据库。
[0080] 在本发明实施例中,通过获取所输入的待审查代码,基于代码审查软件调用软件项目对待审查代码进行静态审查,当静态审查的结果为合格时,基于代码审查软件显示输出待审查代码,以使开发人员对待审查代码进行初步审查,当初步审查的结果为合格时,基于软件项目对待审查代码进行再次审查,当再次审查的结果为合格时,将待审查代码存储至代码库。通过在代码审查中引入代码审查软件和软件项目实现对代码的逐层审查,实现了一套完整的自动化代码审查流程,提高了代码审查的专业性、安全性以及审查力度。
[0081] 请参见图4,为本发明实施例提供了另一种代码审查设备的结构示意图。如图4所示,本发明实施例的所述代码审查设备1可以包括:静态审查单元11、输出显示单元12、再次审查单元13、代码存储单元14、第一结果获取单元15、第二结果获取单元16、结果确认单元17、提示信息输出单元18和回归测试单元19。
[0082] 静态审查单元11,用于获取所输入的待审查代码,基于代码审查软件调用软件项目对所述待审查代码进行静态审查。
[0083] 具体实现中,静态审查单元11可以获取本地提交的待审查代码,可以理解的是,所述待审查代码可以是研发人员新开发的一组代码,本地提交代码时可以采用Git这一开源的分布式版本控制系统进行提交,提交流程可以是:
[0084] $git add
[0085] $git commit–m“commit msg”
[0086] $git push origin master:refs/for/master
[0087] 进一步的,所述静态审查单元11可以基于代码审查软件调用软件项目对所述待审查代码进行静态审查,可以理解的是,所述代码审查软件可以是Gerrit(一种免费、开放源代码的代码审查软件),上述提交流程中的$git push origin master:refs/for/master为Gerrit的规则。所述软件项目可以是Jenkins(一个开源软件项目)。代码提交之后,首先触发静态检查,所述静态审查可以包括代码复杂度,UT覆盖率,代码重复度等。
[0088] 输出显示单元12,用于当所述静态审查的结果为合格时,基于所述代码审查软件显示输出所述待审查代码。
[0089] 具体实现中,当所述静态审查的结果为合格,即所述待审查代码的代码复杂度时,UT覆盖率,代码重复度等都合格,输出显示单元12可以基于所述代码审查软件显示输出所述待审查代码,例如,在Gerrit的网页界面显示所述待审查代码,供其他开发人员对所述待审查代码进行人工审查,可选的,上述显示所述待审查代码的网页界面可以有审查合格和不合格两种选项按钮,开发人员可以根据审查的结果选择相应的选项。当初步审查结果为不合格时,开发人员可以选择不合格选项,所述代码审核设备1可以将所述待审核代码退回至代码提交者进行修改。可选的,开发人员也可以在审查的过程中对代码不合格的部分进行标注或者修改。
[0090] 第一结果获取单元15,用于获取初步审查人员一次审查后输入的第一审查结果。
[0091] 可以理解的是,人工审查的过程可以包括初步审查人员的一次审查过程和和管理人员的二次审查过程,所述二次审查过程可以是对所述静态审查和所述一次审查的复核过程,可以审查是否有自动构建成功,是否有足够的人员认真对代码审查。
[0092] 具体实现中,第一结果获取单元15可以获取初步审查人员一次审查后通过网页界面中的合格或不合格选项按钮输入的第一审查结果。
[0093] 第二结果获取单元16,用于获取所述管理人员二次审查后输入的第二审查结果。
[0094] 进一步的,当所述第一审查结果为合格时,第二结果获取单元16可以获取所述管理人员二次审查后输入的第二审查结果。
[0095] 结果确认单元17,用于当所述第一审查结果和/或所述第二审查结果合格时确认所述初步审查结果为合格。
[0096] 具体实现中,当所述第一审查结果和/或所述第二审查结果合格时,结果确认单元17可以确认所述初步审查结果为合格,可以理解的是,只有所述静态审查的结果和所述第一审查结果均合格时,所述第二审查结果才合格。
[0097] 在本发明实施例中,通过设置管理人员的再次审查过程,增加了代码审查的可靠性。
[0098] 再次审查单元13,用于当所述初步审查的结果为合格时,基于所述软件项目对所述待审查代码进行再次审查。
[0099] 具体实现中,当所述初步审查的结果为合格时,再次审查单元13可以基于所述软件项目对所述待审查代码进行再次审查。所述再次审查可以包括功能测试、模块测试和系统测试。所述功能测试可以是测试本次提交所涉及到的功能是否正常,包括了新增功能测试和之前老功能的回归测试,在经过了功能测试之后本次提交所涉及的功能已经得到了保障,但还不能确保本次提交的改动是否会对该模块的其它功能产生影响,因此还需要有一轮模块测试,测试整个模块功能的正确性;在经过了模块测试之后本模块的功能已经得到确保,但模块与模块之间的功能是否会受到影响还是未知的,因此这里需要系统测试来对各个模块进行测试,确保本次提交并未影响其它模块。
[0100] 代码存储单元14,用于当所述再次审查的结果为合格时,将所述待审查代码存储至代码库。
[0101] 具体实现中,当所述再次审查的结果为合格,即上述功能测试、模块测试和系统测试都通过后,代码存储单元14可以将所述待审查代码存储至代码库。可以理解的是,所述代码库可以是所述代码审查设备中存储代码的数据库。
[0102] 回归测试单元18,用于基于预设时间段对所述待审查代码进行回归测试。
[0103] 可以理解的是,所述待审查代码存储至所述代码库后,经过一次又一次提交之后代码库中的代码越来越多,功能也越来越多。这里就需要入库之后的产品测试来对整个产品进行整体回归,这样整个产品的质量也可以得到保证,具体实现中,回归测试单元18可以基于预设时间段对所述待审查代码进行回归测试,所述预设时间段可以是一天或者一周等其他时间周期。
[0104] 提示信息输出单元19,用于当对所述待审查代码进行审查的任一环节存在审查结果不合格时,输出不合体提示信息。
[0105] 可以理解的是,在上述代码审查的过程中任一环节存在审查结果不合格时,提示信息输出单元19可以输出不合体提示信息,所述不合格提示信息包括提示所述待审查代码不合格的部分和不合格提示界面。
[0106] 在本发明实施例中,通过获取所输入的待审查代码,基于代码审查软件调用软件项目对待审查代码进行静态审查,当静态审查的结果为合格时,基于代码审查软件显示输出待审查代码,以使开发人员对待审查代码进行初步审查,当初步审查的结果为合格时,基于软件项目对待审查代码进行再次审查,当再次审查的结果为合格时,将待审查代码存储至代码库。通过在代码审查中引入代码审查软件和软件项目实现对代码的逐层审查,实现了一套完整的自动化代码审查流程,提高了代码审查的专业性、安全性以及审查力度;通过设置管理人员的再次审查过程,增加了代码审查的可靠性。
[0107] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0108] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈