CN103677831B - 在线代码审查系统及方法 - Google Patents

在线代码审查系统及方法 Download PDF

Info

Publication number
CN103677831B
CN103677831B CN201310682031.5A CN201310682031A CN103677831B CN 103677831 B CN103677831 B CN 103677831B CN 201310682031 A CN201310682031 A CN 201310682031A CN 103677831 B CN103677831 B CN 103677831B
Authority
CN
China
Prior art keywords
code
file
request slip
code inspection
personnel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310682031.5A
Other languages
English (en)
Other versions
CN103677831A (zh
Inventor
邓海红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201310682031.5A priority Critical patent/CN103677831B/zh
Publication of CN103677831A publication Critical patent/CN103677831A/zh
Application granted granted Critical
Publication of CN103677831B publication Critical patent/CN103677831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及代码技术。本发明解决了现有代码审查时代码审查人员与代码开发人员不能进行良好的交互而造成审查效率较低的问题,提供了一种在线代码审查系统及方法,其技术方案可概括为:在线代码审查系统,其特征在于,包括交互客户端及代码审查系统,所述交互客户端与代码审查系统连接,所述代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块。本发明的有益效果是:提高了代码审核的效率和效果,适用于代码审查。

Description

在线代码审查系统及方法
技术领域
本发明涉及代码技术,特别涉及在线审查代码的技术。
背景技术
计算机技术和网络迅速发展的今天,各类应用软件,仪器设备已经融入人们的工作、学习及生活中。工作网络化、生产自动化及服务自动化,已经成为各大中小型企业提高工作效率、减少成本及开发客户等的主要方法,对这些企业来说软件和设备一旦出现故障就可能造成灾难性的和不可挽回的损失,因此软件质量变得尤为重要,而代码的质量直接影响软件质量,代码审查不仅能够及时发现后期测试中难以发现的问题,还可以帮助团队成员提高编程技能,统一编码风格,从而提升代码质量及代码可维护性,保证软件质量,即使软件出现故障后,代码开发人员也能及时处理,减少客户企业的损失。
目前业内常用的代码审核方法是通过对比工具为每个修改文件创建一个对比文件,然后将该对比文件通过某种途径发给代码审查人员,代码审查人员查看对比文件来审查代码。代码开发人员需要上传大量的文件以便于审核,代码审查人员无法对修改部分的上下文显示行数进行定制,不方便理解代码,无法对代码进行批注,不方便代码开发人员理解审核人员的意图,极大地影响了整个代码审查的效率。
上述方案不便于代码代码审查人员理解代码,不便于代码开发人员理解代码审查人员的意图,不能以友好的方式完成代码开发人员和审核人员的交互,既增加了出错的几率,又严重影响了代码审查的效率。
发明内容
本发明的目的就是克服目前代码审查时代码审查人员与代码开发人员不能进行良好的交互而造成审查效率较低的缺点,提供一种在线代码审查系统及方法。
本发明解决其技术问题,采用的技术方案是,在线代码审查系统,其特征在于,包括交互客户端及代码审查系统,所述交互客户端与代码审查系统连接,所述代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块;
所述交互客户端用于提供代码开发人员或代码审查人员与代码审查系统的交互接口;
所述代码审核单管理模块用于根据代码开发人员的交互命令进行代码审核申请单的创建及提交,根据代码审查人员的交互命令获取对比文件生成器模块的对比结果及代码审核申请单进行显示查看,以及根据批注信息管理模块反馈的批注信息文件与代码审核申请单生成相应报表,所述代码审核申请单中至少包括差异文件(patch文件)及创建差异文件的目录对应的版本库路径;
所述对比文件生成器模块用于对代码审核申请单中的差异文件进行解析,调用版本管理工具代理模块下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果;
所述版本管理工具代理模块用于提供操作版本库的接口;
所述批注信息管理模块用于根据代码审查人员的交互创建批注信息文件,通过名称与对应的差异文件相关联。
具体的,所述批注信息文件包括代码审查人员所选择的行的行号及批注信息。
进一步的,所述代码审核申请单中还包括代码审查人员设置信息。
在线代码审查方法,其特征在于,包括以下步骤:
步骤1、代码开发人员创建代码审核申请单并提交,该代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径;
步骤2、代码审查人员选择查看该代码审核申请单,系统对该代码审核申请单中的差异文件进行解析,并下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果,向代码审查人员呈现该代码审核申请单及对比结果;
步骤3、若代码审查人员对该对比结果进行批注,则系统创建批注信息文件,并通过名称与该差异文件相关联;
步骤4、系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件生成相应报表。
具体的,所述步骤1包括以下具体步骤:
代码开发人员在系统中新建代码审核申请单,上传代码修改后的差异文件及创建差异文件的目录对应的版本库路径,并将其填入代码审核申请单;代码开发人员在代码审核申请单中填入代码审查人员,向系统提交该代码审核申请单。
进一步的,所述步骤2包括以下步骤:
步骤201、若需要选择查看该代码审核申请单,系统获取该代码审核申请单中的差异文件及创建差异文件的目录对应的版本库路径;
步骤202、解析该差异文件,并根据创建差异文件的目录对应的版本库路径生成每个欲修改代码对应文件所在版本库的全路径,下载该文件包;
步骤203、再次拷贝该文件包,获得两个文件包;
步骤204、调用补丁工具应用差异文件到其中一个文件包,生成与代码开发人员本地相同的代码;
步骤205、分别读取两个文件包的内容,通过比对算法和指定的上下文行数生成对比结果;
步骤206、向代码审查人员呈现该代码审核申请单及对比结果。
具体的,步骤205与步骤206之间还具有以下步骤:
步骤208、渲染对比结果页面。所述渲染对比结果页面的具体方法为:绘制对比结果页面,并在客户端显示。
再进一步的,所述步骤3包括以下具体步骤:
若代码审查人员需要对该对比结果进行批注,代码审查人员选择对比结果的某一行,对其添加批注信息;系统根据代码审查人员选择某一行的行号及批注信息生成相应的批注信息文件,并通过名称与对应的差异文件关联。
具体的,所述步骤4包括以下具体步骤:系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件;通过批注信息文件中的行号获取批注信息,将其与代码审核申请单中的差异文件相结合生成相应报表并显示。
本发明的有益效果是,通过上述在线代码审查系统及方法,通过对差异文件的有效利用,大大减少审查代码过程中传递的代码文件的数量和大小的同时保证了代码审查人员能看到代码文件修改前后的完整上下文,并可定制上下文和添加批注的功能为代码开发人员和代码代码审查人员提供了更好的交互,从而大大提高了代码审核的效率和效果。
附图说明
图1是本发明在线代码审查系统的系统框图。
图2是本发明在线代码审查方法的流程图。
具体实施方式
下面结合实施例及附图,详细描述本发明的技术方案。
本发明在线代码审查系统的系统框图参见图1。本发明在线代码审查系统,交互客户端及代码审查系统,其中,交互客户端与代码审查系统连接,代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块,这里,交互客户端用于提供代码开发人员或代码审查人员与代码审查系统的交互;代码审核单管理模块用于根据代码开发人员的交互进行代码审核申请单的创建及提交,根据代码审查人员的交互获取对比文件生成器模块的对比结果及代码审核申请单进行显示查看,以及根据批注信息管理模块反馈的批注信息文件与代码审核申请单生成相应报表,所述代码审核申请单中至少包括差异文件(patch文件)及创建差异文件的目录对应的版本库路径;对比文件生成器模块用于对代码审核申请单中的差异文件进行解析,调用版本管理工具代理模块下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果;版本管理工具代理模块用于提供操作版本库的接口;批注信息管理模块用于根据代码审查人员的交互创建批注信息文件,通过名称与对应的差异文件相关联。
本发明在线代码审查方法的流程图参见图2,首先代码开发人员创建代码审核申请单并提交,该代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径,当代码审查人员选择查看该代码审核申请单时,系统对该代码审核申请单中的差异文件进行解析,并下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果,向代码审查人员呈现该代码审核申请单及对比结果,若代码审查人员对该对比结果进行批注,则系统创建批注信息文件,并通过名称与该差异文件相关联,最后系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件生成相应报表。
实施例
本发明实施例中在线代码审查系统的系统框图参见图1。本例中,在线代码审查系统,交互客户端及代码审查系统,其中,交互客户端与代码审查系统连接,代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块,这里,交互客户端用于提供代码开发人员或代码审查人员与代码审查系统的交互接口;代码审核单管理模块用于根据代码开发人员的交互命令进行代码审核申请单的创建及提交,根据代码审查人员的交互命令获取对比文件生成器模块的对比结果及代码审核申请单进行显示查看,以及根据批注信息管理模块反馈的批注信息文件与代码审核申请单生成相应报表,该代码审核申请单中至少包括差异文件(patch文件)及创建差异文件的目录对应的版本库路径,还可以包括代码审查人员设置信息;对比文件生成器模块用于对代码审核申请单中的差异文件进行解析,调用版本管理工具代理模块下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果;版本管理工具代理模块用于提供操作版本库的接口;批注信息管理模块用于根据代码审查人员的交互创建批注信息文件,批注信息文件中包括代码审查人员所选择的行的行号及批注信息,通过名称与对应的差异文件相关联。
本发明实施例中在线代码审查方法的流程图参见图2,其具体步骤如下:
步骤1、代码开发人员创建代码审核申请单并提交,该代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径。
本步骤中,可以包括如下具体步骤:
步骤101、代码开发人员在系统中新建代码审核申请单;
步骤102、代码开发人员上传代码修改后的差异文件及创建差异文件的目录对应的版本库路径,并将其填入代码审核申请单;
步骤103、代码开发人员在代码审核申请单中填入代码审查人员;
步骤104、代码开发人员向系统提交该代码审核申请单。
步骤2、代码审查人员选择查看该代码审核申请单,系统对该代码审核申请单中的差异文件进行解析,并下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果,向代码审查人员呈现该代码审核申请单及对比结果。
本步骤中,可以包括如下具体步骤:
步骤201、若需要选择查看该代码审核申请单;
步骤202、系统获取该代码审核申请单中的差异文件及创建差异文件的目录对应的版本库路径;
步骤203、解析该差异文件,并根据创建差异文件的目录对应的版本库路径生成每个欲修改代码对应文件所在版本库的全路径,下载该文件包;
步骤204、再次拷贝该文件包,获得两个文件包;
步骤205、调用补丁工具应用差异文件到其中一个文件包,生成与代码开发人员本地相同的代码;
步骤206、分别读取两个文件包的内容,通过比对算法和指定的上下文行数生成对比结果;
步骤207、向代码审查人员呈现该代码审核申请单及对比结果。
其中,还可以在步骤206与步骤207中加入:步骤208、渲染对比结果页面。渲染对比结果页面的具体方法为:绘制对比结果页面,并在客户端显示。
步骤3、若代码审查人员对该对比结果进行批注,则系统创建批注信息文件,并通过名称与该差异文件相关联。
本步骤中,可以包括如下具体步骤:
步骤301、若代码审查人员需要对该对比结果进行批注;
步骤302、代码审查人员选择对比结果的某一行,对其添加批注信息;
步骤303、系统根据代码审查人员选择某一行的行号及批注信息生成相应的批注信息文件,并通过名称与对应的差异文件关联。
步骤4、系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件生成相应报表。
本步骤中,可以包括如下具体步骤:
步骤401、系统根据代码开发人员或代码审查人员需要获取代码审核申请单及相应批注信息文件;
步骤402、通过批注信息文件中的行号获取批注信息,将其与代码审核申请单中的差异文件相结合生成相应报表并显示。

Claims (10)

1.在线代码审查系统,其特征在于,包括交互客户端及代码审查系统,所述交互客户端与代码审查系统连接,所述代码审查系统包括代码审核单管理模块、对比文件生成器模块、版本管理工具代理模块及批注信息管理模块;
所述交互客户端,用于提供代码开发人员或代码审查人员与代码审查系统的交互接口;
所述代码审核单管理模块,用于根据代码开发人员的交互命令进行代码审核申请单的创建及提交,根据代码审查人员的交互命令获取对比文件生成器模块的对比结果及代码审核申请单进行显示查看,以及根据批注信息管理模块反馈的批注信息文件与代码审核申请单生成相应报表,所述代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径;
所述对比文件生成器模块,用于对代码审核申请单中的差异文件进行解析,调用版本管理工具代理模块下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果;
所述版本管理工具代理模块,用于提供操作版本库的接口;
所述批注信息管理模块,用于根据代码审查人员的交互命令来创建批注信息文件,通过名称与对应的差异文件相关联。
2.如权利要求1所述的在线代码审查系统,其特征在于,所述批注信息文件包括代码审查人员所选择行的行号及批注信息。
3.如权利要求1或2所述的在线代码审查系统,其特征在于,所述代码审核申请单中还包括代码审查人员设置信息。
4.在线代码审查方法,其特征在于,包括以下步骤:
步骤1、代码开发人员在系统中创建代码审核申请单并提交,该代码审核申请单中至少包括差异文件及创建差异文件的目录对应的版本库路径;
步骤2、代码审查人员在系统中选择查看该代码审核申请单,系统对该代码审核申请单中的差异文件进行解析,并下载对应欲修改代码,应用该差异文件及对应欲修改代码,生成对比结果,向代码审查人员呈现该代码审核申请单及对比结果;
步骤3、若代码审查人员在系统中对该对比结果进行批注,则系统创建批注信息文件,并通过名称与该差异文件相关联;
步骤4、系统根据代码开发人员或代码审查人员的需要获取代码审核申请单及相应批注信息文件生成相应报表。
5.如权利要求4所述的在线代码审查方法,其特征在于,所述步骤1包括以下具体步骤:
代码开发人员在系统中新建代码审核申请单,上传代码修改后的差异文件及创建差异文件的目录对应的版本库路径,并将其填入代码审核申请单;在代码审核申请单中填入代码审查人员;向系统提交该代码审核申请单。
6.如权利要求4所述的在线代码审查方法,其特征在于,所述步骤2包括以下步骤:
步骤201、若需要在系统中选择查看该代码审核申请单,系统获取该代码审核申请单中的差异文件及创建差异文件的目录对应的版本库路径;
步骤202、解析该差异文件,并根据创建差异文件的目录对应的版本库路径生成每个欲修改代码对应文件所在版本库的全路径,下载该文件包;
步骤203、再次拷贝该文件包,获得两个文件包;
步骤204、调用补丁工具应用差异文件到其中一个文件包,生成与代码开发人员本地相同的代码;
步骤205、分别读取两个文件包的内容,通过比对算法和指定的上下文行数生成对比结果;
步骤206、向代码审查人员呈现该代码审核申请单及对比结果。
7.如权利要求6所述的在线代码审查方法,其特征在于,步骤205与步骤206之间还具有以下步骤:
步骤207、渲染对比结果页面。
8.如权利要求7所述的在线代码审查方法,其特征在于,所述渲染对比结果页面的具体方法为:绘制对比结果页面,并在客户端显示。
9.如权利要求4-7任一项所述的在线代码审查方法,其特征在于,所述步骤3包括以下具体步骤:
若代码审查人员需要在系统中对该对比结果进行批注,代码审查人员选择对比结果的某一行,对其添加批注信息;系统根据代码审查人员选择某一行的行号及批注信息生成相应的批注信息文件,并通过名称与对应的差异文件关联。
10.如权利要求8所述的在线代码审查方法,其特征在于,所述步骤4包括以下具体步骤:
系统根据代码开发人员或代码审查人员的需要获取代码审核申请单及相应批注信息文件;
通过批注信息文件中的行号获取批注信息,将其与代码审核申请单中的差异文件相结合生成相应报表并显示。
CN201310682031.5A 2013-12-12 2013-12-12 在线代码审查系统及方法 Active CN103677831B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310682031.5A CN103677831B (zh) 2013-12-12 2013-12-12 在线代码审查系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310682031.5A CN103677831B (zh) 2013-12-12 2013-12-12 在线代码审查系统及方法

Publications (2)

Publication Number Publication Date
CN103677831A CN103677831A (zh) 2014-03-26
CN103677831B true CN103677831B (zh) 2017-02-08

Family

ID=50315498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310682031.5A Active CN103677831B (zh) 2013-12-12 2013-12-12 在线代码审查系统及方法

Country Status (1)

Country Link
CN (1) CN103677831B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536577A (zh) * 2017-03-02 2018-09-14 北京嘀嘀无限科技发展有限公司 程序代码信息处理方法及装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094780A (zh) 2014-05-14 2015-11-25 国际商业机器公司 一种信息关联的方法和装置
CN104317563B (zh) * 2014-09-25 2018-04-27 汤习俭 一种在线课件协作开发系统
CN106484606B (zh) * 2015-09-01 2019-07-26 阿里巴巴集团控股有限公司 一种代码提交方法和设备
CN105373388A (zh) * 2015-11-30 2016-03-02 西安闻泰电子科技有限公司 自动上传patch修改的代码管理方法
CN106227574A (zh) * 2016-07-15 2016-12-14 浪潮电子信息产业股份有限公司 一种基于规则扩展的代码审查方法
CN107122391B (zh) * 2017-03-06 2021-02-23 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种基于历史记录的代码审核人推荐方法
CN107729031B (zh) * 2017-08-25 2019-08-20 深圳壹账通智能科技有限公司 代码管理方法、装置、计算机设备和计算机可读存储介质
CN108089984A (zh) * 2017-12-14 2018-05-29 泰康保险集团股份有限公司 代码评审的实现方法、装置、存储介质及电子设备
CN108763061A (zh) * 2018-04-29 2018-11-06 西安交通大学 一种计算机软件产品品质管制管理系统
CN109871205B (zh) * 2018-12-15 2023-07-18 中国平安人寿保险股份有限公司 界面代码调整方法、装置、计算机装置及存储介质
CN110866730B (zh) * 2018-12-29 2023-11-21 北京安妮全版权科技发展有限公司 一种代码考核系统及方法
CN109901876A (zh) * 2019-02-28 2019-06-18 携程旅游信息技术(上海)有限公司 代码评审方法、系统、设备及存储介质
CN110751797A (zh) * 2019-09-30 2020-02-04 南京紫津融畅信息科技服务有限公司 一种atm系统故障处理方法、系统及存储介质
CN112800011A (zh) * 2021-01-20 2021-05-14 王铭东 一种对比式在线编程教学方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092761A (zh) * 2013-02-05 2013-05-08 烽火通信科技股份有限公司 基于差异信息文件识别和检查修改代码块的方法及装置
CN103309804A (zh) * 2013-04-08 2013-09-18 中国电子科技集团公司第十研究所 自动化代码规则检查平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031812A1 (en) * 2004-08-03 2006-02-09 Karl Olson System and method for checklist management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092761A (zh) * 2013-02-05 2013-05-08 烽火通信科技股份有限公司 基于差异信息文件识别和检查修改代码块的方法及装置
CN103309804A (zh) * 2013-04-08 2013-09-18 中国电子科技集团公司第十研究所 自动化代码规则检查平台

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536577A (zh) * 2017-03-02 2018-09-14 北京嘀嘀无限科技发展有限公司 程序代码信息处理方法及装置

Also Published As

Publication number Publication date
CN103677831A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103677831B (zh) 在线代码审查系统及方法
CA2576478C (en) System and method and apparatus for using uml tools for defining web service bound component applications
US9811402B2 (en) Generation of representational state transfer interface from application programming interfaces
US10509639B2 (en) Automatic software-update framework
CN101122921B (zh) 基于ajax与html标记形成树形显示结构的方法
CN103238308B (zh) 传播源标识信息的方法和系统
US10560484B2 (en) Managing access in one or more computing systems
CN112187558B (zh) 数据校验方法、装置、电子设备
CN103312551A (zh) 通用网关接口的测试方法及测试装置
WO2005114962A1 (en) Method and system for automated testing of web services
CN105138313A (zh) 客户机应用程序和网页集成
CN111190596A (zh) 联调方法、装置、计算机设备及可读存储介质
JP2022523914A (ja) レプリゼンテーショナルステートトランスファ(rest)アプリケーションプログラミングインターフェイス(api)を使用するデータ変換のための方法、システムおよびコンピュータ読取可能媒体
CN108241576A (zh) 一种接口测试方法及系统
US10331643B2 (en) Generating context tree data based on a tailored data model
US10606569B2 (en) Declarative configuration elements
CN109889402B (zh) 用于生成信息的方法和装置
CN105302728A (zh) Sap接口的测试方法和装置
US9146801B2 (en) Application information specifiable by users and third parties
CN113138912B (zh) 一种接口测试方法和系统、客户端和服务端
CN111984543B (zh) 指令测试方法、装置及系统
CN107918737A (zh) 压力测试数据的传输方法、装置及系统
Liu et al. Ocl-based testing for e-learning web service
CN114443472A (zh) 一种接口容错性测试方法、装置及设备
CN115495108A (zh) 一种生成业务流程链的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant