在线代码审查系统及方法

文档序号:6523536阅读:297来源:国知局
在线代码审查系统及方法
【专利摘要】本发明涉及代码技术。本发明解决了现有代码审查时代码审查人员与代码开发人员不能进行良好的交互而造成审查效率较低的问题,提供了一种在线代码审查系统及方法,其技术方案可概括为:在线代码审查系统,其特征在于,包括交互客户端及代码审查系统,所述交互客户端与代码审查系统连接,所述代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块。本发明的有益效果是:提高了代码审核的效率和效果,适用于代码审查。
【专利说明】在线代码审查系统及方法
【技术领域】
[0001]本发明涉及代码技术,特别涉及在线审查代码的技术。
【背景技术】
[0002]计算机技术和网络迅速发展的今天,各类应用软件,仪器设备已经融入人们的工作、学习及生活中。工作网络化、生产自动化及服务自动化,已经成为各大中小型企业提高工作效率、减少成本及开发客户等的主要方法,对这些企业来说软件和设备一旦出现故障就可能造成灾难性的和不可挽回的损失,因此软件质量变得尤为重要,而代码的质量直接影响软件质量,代码审查不仅能够及时发现后期测试中难以发现的问题,还可以帮助团队成员提高编程技能,统一编码风格,从而提升代码质量及代码可维护性,保证软件质量,即使软件出现故障后,代码开发人员也能及时处理,减少客户企业的损失。
[0003]目前业内常用的代码审核方法是通过对比工具为每个修改文件创建一个对比文件,然后将该对比文件通过某种途径发给代码审查人员,代码审查人员查看对比文件来审查代码。代码开发人员需要上传大量的文件以便于审核,代码审查人员无法对修改部分的上下文显示行数进行定制,不方便理解代码,无法对代码进行批注,不方便代码开发人员理解审核人员的意图,极大地影响了整个代码审查的效率。
[0004]上述方案不便于代码代码审查人员理解代码,不便于代码开发人员理解代码审查人员的意图,不能以友好的方式完成代码开发人员和审核人员的交互,既增加了出错的几率,又严重影响了代码审查的效率。

【发明内容】

[0005]本发明的目的就是克服目前代码审查时代码审查人员与代码开发人员不能进行良好的交互而造成审查效率较低的缺点,提供一种在线代码审查系统及方法。
[0006]本发明解决其技术问题,采用的技术方案是,在线代码审查系统,其特征在于,包括交互客户端及代码审查系统,所述交互客户端与代码审查系统连接,所述代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块;
[0007]所述交互客户端用于提供代码开发人员或代码审查人员与代码审查系统的交互接口 ;
[0008]所述代码审核单管理模块用于根据代码开发人员的交互命令进行代码审核申请单的创建及提交,根据代码审查人员的交互命令获取对比文件生成器模块的对比结果及代码审核申请单进行显示查看,以及根据批注信息管理模块反馈的批注信息文件与代码审核申请单生成相应报表,所述代码审核申请单中至少包括差异文件(patch文件)及创建差异文件的目录对应的版本库路径;
[0009]所述对比文件生成器模块用于对代码审核申请单中的差异文件进行解析,调用版本管理工具代理模块下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果;
[0010]所述版本管理工具代理模块用于提供操作版本库的接口 ;
[0011]所述批注信息管理模块用于根据代码审查人员的交互创建批注信息文件,通过名称与对应的差异文件相关联。
[0012]具体的,所述批注信息文件包括代码审查人员所选择的行的行号及批注信息。
[0013]进一步的,所述代码审核申请单中还包括代码审查人员设置信息。
[0014]在线代码审查方法,其特征在于,包括以下步骤:
[0015]步骤1、代码开发人员创建代码审核申请单并提交,该代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径;
[0016]步骤2、代码审查人员选择查看该代码审核申请单,系统对该代码审核申请单中的差异文件进行解析,并下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果,向代码审查人员呈现该代码审核申请单及对比结果;
[0017]步骤3、若代码审查人员对该对比结果进行批注,则系统创建批注信息文件,并通过名称与该差异文件相关联;
[0018]步骤4、系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件生成相应报表。
[0019]具体的,所述步骤I包括以下具体步骤:
[0020]代码开发人员在系统中新建代码审核申请单,上传代码修改后的差异文件及创建差异文件的目录对应的版本库路径,并将其填入代码审核申请单;代码开发人员在代码审核申请单中填入代码审查人员,向系统提交该代码审核申请单。
[0021]进一步的,所述步骤2包括以下步骤:
[0022]步骤201、若需要选择查看该代码审核申请单,系统获取该代码审核申请单中的差异文件及创建差异文件的目录对应的版本库路径;
[0023]步骤202、解析该差异文件,并根据创建差异文件的目录对应的版本库路径生成每个欲修改代码对应文件所在版本库的全路径,下载该文件包;
[0024]步骤203、再次拷贝该文件包,获得两个文件包;
[0025]步骤204、调用补丁工具应用差异文件到其中一个文件包,生成与代码开发人员本地相同的代码;
[0026]步骤205、分别读取两个文件包的内容,通过比对算法和指定的上下文行数生成对比结果;
[0027]步骤206、向代码审查人员呈现该代码审核申请单及对比结果。
[0028]具体的,步骤205与步骤206之间还具有以下步骤:
[0029]步骤208、渲染对比结果页面。所述渲染对比结果页面的具体方法为:绘制对比结果页面,并在客户端显示。
[0030]再进一步的,所述步骤3包括以下具体步骤:
[0031]若代码审查人员需要对该对比结果进行批注,代码审查人员选择对比结果的某一行,对其添加批注信息;系统根据代码审查人员选择某一行的行号及批注信息生成相应的批注信息文件,并通过名称与对应的差异文件关联。
[0032]具体的,所述步骤4包括以下具体步骤:系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件;通过批注信息文件中的行号获取批注信息,将其与代码审核申请单中的差异文件相结合生成相应报表并显示。
[0033]本发明的有益效果是,通过上述在线代码审查系统及方法,通过对差异文件的有效利用,大大减少审查代码过程中传递的代码文件的数量和大小的同时保证了代码审查人员能看到代码文件修改前后的完整上下文,并可定制上下文和添加批注的功能为代码开发人员和代码代码审查人员提供了更好的交互,从而大大提高了代码审核的效率和效果。
【专利附图】

【附图说明】
[0034]图1是本发明在线代码审查系统的系统框图。
[0035]图2是本发明在线代码审查方法的流程图。
【具体实施方式】
[0036]下面结合实施例及附图,详细描述本发明的技术方案。
[0037]本发明在线代码审查系统的系统框图参见图1。本发明在线代码审查系统,交互客户端及代码审查系统,其中,交互客户端与代码审查系统连接,代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块,这里,交互客户端用于提供代码开发人员或代码审查人员与代码审查系统的交互;代码审核单管理模块用于根据代码开发人员的交互进行代码审核申请单的创建及提交,根据代码审查人员的交互获取对比文件生成器模块的对比结果及代码审核申请单进行显示查看,以及根据批注信息管理模块反馈的批注信息文件与代码审核申请单生成相应报表,所述代码审核申请单中至少包括差异文件(patch文件)及创建差异文件的目录对应的版本库路径;对比文件生成器模块用于对代码审核申请单中的差异文件进行解析,调用版本管理工具代理模块下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果;版本管理工具代理模块用于提供操作版本库的接口 ;批注信息管理模块用于根据代码审查人员的交互创建批注信息文件,通过名称与对应的差异文件相关联。
[0038]本发明在线代码审查方法的流程图参见图2,首先代码开发人员创建代码审核申请单并提交,该代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径,当代码审查人员选择查看该代码审核申请单时,系统对该代码审核申请单中的差异文件进行解析,并下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果,向代码审查人员呈现该代码审核申请单及对比结果,若代码审查人员对该对比结果进行批注,则系统创建批注信息文件,并通过名称与该差异文件相关联,最后系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件生成相应报表。
[0039]实施例
[0040]本发明实施例中在线代码审查系统的系统框图参见图1。本例中,在线代码审查系统,交互客户端及代码审查系统,其中,交互客户端与代码审查系统连接,代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块,这里,交互客户端用于提供代码开发人员或代码审查人员与代码审查系统的交互接口 ;代码审核单管理模块用于根据代码开发人员的交互命令进行代码审核申请单的创建及提交,根据代码审查人员的交互命令获取对比文件生成器模块的对比结果及代码审核申请单进行显示查看,以及根据批注信息管理模块反馈的批注信息文件与代码审核申请单生成相应报表,该代码审核申请单中至少包括差异文件(patch文件)及创建差异文件的目录对应的版本库路径,还可以包括代码审查人员设置信息;对比文件生成器模块用于对代码审核申请单中的差异文件进行解析,调用版本管理工具代理模块下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果;版本管理工具代理模块用于提供操作版本库的接口 ;批注信息管理模块用于根据代码审查人员的交互创建批注信息文件,批注信息文件中包括代码审查人员所选择的行的行号及批注信息,通过名称与对应的差异文件相关联。
[0041]本发明实施例中在线代码审查方法的流程图参见图2,其具体步骤如下:
[0042]步骤1、代码开发人员创建代码审核申请单并提交,该代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径。
[0043]本步骤中,可以包括如下具体步骤:
[0044]步骤101、代码开发人员在系统中新建代码审核申请单;
[0045]步骤102、代码开发人员上传代码修改后的差异文件及创建差异文件的目录对应的版本库路径,并将其填入代码审核申请单;
[0046]步骤103、代码开发人员在代码审核申请单中填入代码审查人员;
[0047]步骤104、代码开发人员向系统提交该代码审核申请单。
[0048]步骤2、代码审查人员选择查看该代码审核申请单,系统对该代码审核申请单中的差异文件进行解析,并下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果,向代码审查人员呈现该代码审核申请单及对比结果。
[0049]本步骤中,可以包括如下具体步骤:
[0050]步骤201、若需要选择查看该代码审核申请单;
[0051]步骤202、系统获取该代码审核申请单中的差异文件及创建差异文件的目录对应的版本库路径;
[0052]步骤203、解析该差异文件,并根据创建差异文件的目录对应的版本库路径生成每个欲修改代码对应文件所在版本库的全路径,下载该文件包;
[0053]步骤204、再次拷贝该文件包,获得两个文件包;
[0054]步骤205、调用补丁工具应用差异文件到其中一个文件包,生成与代码开发人员本地相同的代码;
[0055]步骤206、分别读取两个文件包的内容,通过比对算法和指定的上下文行数生成对比结果;
[0056]步骤207、向代码审查人员呈现该代码审核申请单及对比结果。
[0057]其中,还可以在步骤206与步骤207中加入:步骤208、渲染对比结果页面。渲染对比结果页面的具体方法为:绘制对比结果页面,并在客户端显示。
[0058]步骤3、若代码审查人员对该对比结果进行批注,则系统创建批注信息文件,并通过名称与该差异文件相关联。
[0059]本步骤中,可以包括如下具体步骤:
[0060]步骤301、若代码审查人员需要对该对比结果进行批注;
[0061]步骤302、代码审查人员选择对比结果的某一行,对其添加批注信息;[0062]步骤303、系统根据代码审查人员选择某一行的行号及批注信息生成相应的批注信息文件,并通过名称与对应的差异文件关联。
[0063]步骤4、系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件生成相应报表。
[0064]本步骤中,可以包括如下具体步骤:
[0065]步骤401、系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件;
[0066]步骤402、通过批注信息文件中的行号获取批注信息,将其与代码审核申请单中的差异文件相结合生成相应报表并显不。
【权利要求】
1.在线代码审查系统,其特征在于,包括交互客户端及代码审查系统,所述交互客户端与代码审查系统连接,所述代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块; 所述交互客户端,用于提供代码开发人员或代码审查人员与代码审查系统的交互接口 ; 所述代码审核单管理模块,用于根据代码开发人员的交互命令进行代码审核申请单的创建及提交,根据代码审查人员的交互命令获取对比文件生成器模块的对比结果及代码审核申请单进行显示查看,以及根据批注信息管理模块反馈的批注信息文件与代码审核申请单生成相应报表,所述代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径; 所述对比文件生成器模块,用于对代码审核申请单中的差异文件进行解析,调用版本管理工具代理模块下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果; 所述版本管理工具代理模块,用于提供操作版本库的接口 ; 所述批注信息管理模块,用于根据代码审查人员的交互创建批注信息文件,通过名称与对应的差异文件相关联。
2.如权利要求1所述的在线代码审查系统,其特征在于,所述批注信息文件包括代码审查人员所选择行的行号及批注信息。
3.如权利要求1或2所述的在线代码审查系统,其特征在于,所述代码审核申请单中还包括代码审查人员设置信息。
4.在线代码审查方法,其特征在于,包括以下步骤: 步骤1、代码开发人员创建代码审核申请单并提交,该代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径; 步骤2、代码审查人员选择查看该代码审核申请单,系统对该代码审核申请单中的差异文件进行解析,并下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果,向代码审查人员呈现该代码审核申请单及对比结果; 步骤3、若代码审查人员对该对比结果进行批注,则系统创建批注信息文件,并通过名称与该差异文件相关联; 步骤4、系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件生成相应报表。
5.如权利要求4所述的在线代码审查方法,其特征在于,所述步骤I包括以下具体步骤: 代码开发人员在系统中新建代码审核申请单,上传代码修改后的差异文件及创建差异文件的目录对应的版本库路径,并将其填入代码审核申请单;在代码审核申请单中填入代码审查人员;向系统提交该代码审核申请单。
6.如权利要求4所述的在线代码审查方法,其特征在于,所述步骤2包括以下步骤: 步骤201、若需要选择查看该代码审核申请单,系统获取该代码审核申请单中的差异文件及创建差异文件的目录对应的版本库路径; 步骤202、解析该差异文件,并根据创建差异文件的目录对应的版本库路径生成每个欲修改代码对应文件所在版本库的全路径,下载该文件包; 步骤203、再次拷贝该文件包,获得两个文件包; 步骤204、调用补丁工具应用差异文件到其中一个文件包,生成与代码开发人员本地相同的代码; 步骤205、分别读取两个文件包的内容,通过比对算法和指定的上下文行数生成对比结果; 步骤206、向代码审查人员呈现该代码审核申请单及对比结果。
7.如权利要求6所述的在线代码审查方法,其特征在于,步骤205与步骤206之间还具有以下步骤: 步骤207、渲染对比结果页面。
8.如权利要求7所述的在线代码审查方法,其特征在于,所述渲染对比结果页面的具体方法为:绘制对比结果页面,并在客户端显示。
9.如权利要求4-7任一项所述的在线代码审查方法,其特征在于,所述步骤3包括以下具体步骤: 若代码审查人员需要对该对比结果进行批注,代码审查人员选择对比结果的某一行,对其添加批注信息;系统根据代码审查人员选择某一行的行号及批注信息生成相应的批注信息文件,并通过名称与对应的差异文件关联。
10.如权利要求8所述的在线代码审查方法,其特征在于,所述步骤4包括以下具体步骤: 系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件;通过批注信息文件中的行号获取批注信息,将其与代码审核申请单中的差异文件相结合生成相应报表并显示。
【文档编号】G06Q10/06GK103677831SQ201310682031
【公开日】2014年3月26日 申请日期:2013年12月12日 优先权日:2013年12月12日
【发明者】邓海红 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1