持续集成的代码评审方法及装置与流程

文档序号:11620491阅读:270来源:国知局
持续集成的代码评审方法及装置与流程

本发明涉及一种程序控制装置,尤其涉及一种持续集成的代码评审方法及装置。



背景技术:

目前,代码评审是指在软件开发过程中,对源代码进行系统性检查的过程。代码评审的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平。现有技术中采用较多的是codereview,codereview是轻量级代码评审,相对于正式代码评审,轻量级代码评审所需要的各种成本要明显低的多,如果流程正确,它可以起到更加积极的效果。在实际应用的过程中,该代码评审对整个功能模块进行测试,不能针对具体的应用需求或任务,导致代码评审的效率及效果的问题

有鉴于此,有必要提出对目前的代码评审技术进行进一步的改进。



技术实现要素:

为解决上述至少一技术问题,本发明的主要目的是提供一种持续集成的代码评审方法。

为实现上述目的,本发明采用的一个技术方案为:提供一种持续集成的代码评审方法,包括如下步骤:

利用svn钩子获取客户端上传的源代码并生成源码信息,所述源码信息包括源代码、源代码注释以及源代码编号;

生成源码信息的验证请求,在对验证请求进行验证后获得验证结果;

判断验证结果是否通过,当验证结果通过验证时,提交事务并将svn的状态切换至验证成功状态;以及

生成评审请求结果并对评审请求结果进行反馈。

在一些实施例中,所述判断验证结果是否通过的步骤,还包括:

当验证结果没有通过验证时,则回滚事务并将svn的状态切换至验证失败状态,或继续保持svn的初始状态。

在一些实施例中,所述提交事务的步骤之后,还包括对提交事务进行记录的步骤。

在一些实施例中,所述对验证请求进行验证得到验证结果的步骤,具体包括:

调用预设的验证信息对源代码注释及源代码编号进行验证得到信息验证结果;以及

调用预设的验证逻辑对源代码进行验证得到代码验证结果。

在一些实施例中,所述生成评审请求的步骤,具体包括:

生成进入代码评审界面的代码查看索引;以及

根据触发的索引跳转至代码评审界面,以对源代码进行修改操作。

为实现上述目的,本发明采用的另一个技术方案为:提供一种持续集成的代码评审装置包括:获取模块、验证模块、判断模块及生成模块;

获取模块,用于利用svn钩子获取客户端上传的源代码并生成源码信息,所述源码信息包括源代码、源代码注释以及源代码编号;

验证模块,用于生成源码信息的验证请求,在对验证请求进行验证后获得验证结果;

判断模块,用于判断验证结果是否通过,当验证结果通过验证时,提交事务并将svn的状态切换至验证成功状态;以及

生成模块,用于生成评审请求结果并对评审请求结果进行反馈。

在一些实施例中,所述判断模块,还用于:

当验证结果没有通过验证时,则回滚事务并将svn的状态切换至验证失败状态,或继续保持svn的初始状态。

在一些实施例中,所述持续集成的代码评审装置还包括暂存模块,用于对提交事务进行记录。

在一些实施例中,所述验证模块,具体用于:

调用预设的验证信息对源代码注释及源代码编号进行验证得到信息验证结果;以及

调用预设的验证逻辑对源代码进行验证得到代码验证结果。

在一些实施例中,所述生成模块,具体用于:

生成进入代码评审界面的代码查看索引;以及

根据触发的索引跳转至代码评审界面,以对源代码进行修改操作。

本发明的技术方案通过采用svn钩子获取客户端上传的源代码并生成源码信息,然后对源码信息进行认证,并且在认证通过时生成评审请求结果并将评审请求结果反馈至研发管理平台,能够实现持续体系的代码评审,尤其在研发管理过程中按需求进行代码评审,提升了代码评审的水平及效率,还可以对方便对源代码进行维护,因而可以提升软件总体质量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明一实施例持续集成的代码评审方法的方法流程图;

图2为本发明一具体实施例持续集成的代码评审方法的方法流程图;

图3至图7为本发明持续集成的代码评审方法的各步骤执行界面示意图;

图8为本发明一实施例的持续集成的代码评审装置的模块方框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

请参照图1,在本发明实施例中,该持续集成的代码评审方法,包括如下步骤:

步骤s10、利用svn钩子获取客户端上传的源代码并生成源码信息,所述源码信息包括源代码、源代码注释以及源代码编号;

本步骤中,利用svn钩子可以获取客户端上传的源代码,以及获取源代码注释及源代码编号可生成源码信息。可以理解的,源代码编号可以是svn分配的任务号等,源代码注释为对源代码的释义,注释长度可以根据具体的要求来设置。

步骤s20、生成源码信息的验证请求,在对验证请求进行验证后获得验证结果;

本步骤中,需要对源码信息进行验证,主要是对源代码注释及源代码编号进行验证,如此,可以确保源代码评审的准确性。具体的验证过程请参照下述具体实施例。

在一些实施例中,所述对验证请求进行验证得到验证结果的步骤s20,具体包括:

调用预设的验证信息对源代码注释及源代码编号进行验证得到信息验证结果;以及

调用预设的验证逻辑对源代码进行验证得到代码验证结果。

本实施例中,可以从研发系统中调用验证消息对执行任务的实施例进行源代码注释及源代码编号的认证,并且只有在两者都通过后进入下一验证步骤,进一步的,还可以从第三平台中调用验证逻辑对源代码进行验证,

步骤s30、判断验证结果是否通过,当验证结果通过验证时,提交事务并将svn的状态切换至验证成功状态,当验证结果没有通过验证时,则回滚事务并将svn的状态切换至验证失败状态,或继续保持svn的初始状态;

本步骤中,可以根据返回的验证结果判断验证是否通过,如果是则提交事务并将svn的状态切换至验证成功状态,如果否则回滚事务,并将svn的状态切换至验证失败状态,或继续保持svn的初始状态。本实施例中,svn的初始状态可以为红色,验证通过后可切换成绿色,验证失败后可切换成红色或其他颜色,以区分验证是否通过。需要指出的是,无论验证结果是否通过,均可以将结果反馈至客户端。

在一些实施例中,所述提交事务的步骤s30之后,还包括对提交事务进行记录的步骤。

本步骤中,通过记录源代码提交的时间,可以方便检查及维护。

步骤s40、生成评审请求结果并对评审请求结果进行反馈。

本步骤中,该评审请求结果可以反馈至研发管理平台,以便于统一评审管理,具体的管理请参照下述实施例。

在一些实施例中,所述生成评审请求的步骤s40,具体包括:

生成进入代码评审界面的代码查看索引;以及

根据触发的索引跳转至代码评审界面,以对源代码进行修改操作。

本实施例中,评审请求结果为进入代码评审界面的代码查看索引。具体的,在源码信息验证通过后,可根据触发的索引跳转至代码评审界面,并通过对代码评审界面进行进一步操作可以查看或修改或删除评审的源码。

本发明的技术方案通过采用svn钩子获取客户端上传的源代码并生成源码信息,然后对源码信息进行认证,并且在认证通过时生成评审请求结果并将评审请求结果反馈至研发管理平台,能够实现持续体系的代码评审,尤其在研发管理过程中按需求进行代码评审,提升了代码评审的水平及效率,还可以对方便对源代码进行维护,因而可以提升软件总体质量。

请参照图2,本实施例中,采用svn作为源码管理工具,开发与研发平台关联的svn钩子,实现源码提交与研发平台的需求关联,提供多平台的钩子实现。svn钩子包括提交验证插件及验证服务插件,利用svn钩子的提交验证插件可以获取从客户端上传的源代码、对应源代码编号及源代码注释,然后可以生成向验证服务插件的验证请求;在验证服务插件对源码信息进行验证后,获取验证结果,并进一步判断验证是否通过,当验证通过时提交事务,可以将结果反馈至客户端,以及根据提交事务的结果生成评审请求,如此,以按照任务的需求持续对源代码进行评审。

请参照图3至图7,图3为客户端提交源码到svn的执行结果示意图,图4和图5分别为对源代码注释及源代码编号验证的执行结果示意图,可以理解的,当不通过时,直接返回错误结果,并执行回滚事务。图6为验证通过后执行结果示意图,此时,svn位置为成功状态。在点击触发svn后,可以直接跳转至代码评审界面。当然,还可以对代码评审界面进行进一步操作,以查看或修改或删除评审的源码。

请参照图8,在本发明实施例中,该持续集成的代码评审装置包括:获取模块10、验证模块20、判断模块30及生成模块40;

获取模块10,用于利用svn钩子获取客户端上传的源代码并生成源码信息,所述源码信息包括源代码、源代码注释以及源代码编号;

验证模块20,用于生成源码信息的验证请求,在对验证请求进行验证后获得验证结果;

判断模块30,用于判断验证结果是否通过,当验证结果通过验证时,提交事务并将svn的状态切换至验证成功状态;以及

生成模块40,用于生成评审请求结果并对评审请求结果进行反馈。

本实施例中,该持续集成的代码评审装置为上述持续集成的代码评审方法的虚拟模块,对应的功能及数据处理关系可以参照上述的实施例,此处不再赘述。

在一些实施例中,所述判断模块30,还用于:

当验证结果没有通过验证时,则回滚事务并将svn的状态切换至验证失败状态,或继续保持svn的初始状态。

在一些实施例中,所述持续集成的代码评审装置还包括暂存模块,用于对提交事务进行记录。

在一些实施例中,所述验证模块20,具体用于:

调用预设的验证信息对源代码注释及源代码编号进行验证得到信息验证结果;以及

调用预设的验证逻辑对源代码进行验证得到代码验证结果。

在一些实施例中,所述生成模块40,具体用于:

生成进入代码评审界面的代码查看索引;以及

根据触发的索引跳转至代码评审界面,以对源代码进行修改操作。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1