CN107783780B - 一种代码复查方法和系统 - Google Patents
一种代码复查方法和系统 Download PDFInfo
- Publication number
- CN107783780B CN107783780B CN201711165380.4A CN201711165380A CN107783780B CN 107783780 B CN107783780 B CN 107783780B CN 201711165380 A CN201711165380 A CN 201711165380A CN 107783780 B CN107783780 B CN 107783780B
- Authority
- CN
- China
- Prior art keywords
- code
- development
- modification
- code review
- report
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种代码复查方法和系统。在获取代码修改前的开发基线以及代码修改后的开发基线后,按照目录、文件名对代码修改前的开发基线和代码修改后的开发基线进行对比,生成差异报告,并将该差异报告发送至代码复查管理平台进行管理。与现有技术相比,本发明自动提取配置库中修改前基线、修改后基线的持续集成流程,并对修改前基线和修改后基线的逐个目录、逐个文件的比较,形成文件内容差异分析报告,提高了代码复查员的代码复查效率。
Description
技术领域
本申请涉及程序开发领域,更具体地说,涉及一种代码复查方法和系统。
背景技术
在程序完成开发后,通过需要对程序代码进行复查。在代码复查过程中,目前通常采用手工的方式,使用配置工具获取最新程序代码,并通过文本比对工具进行线下的文件比对,人工进行每个差异的代发复查。
这种手工方式,首先存在效率低下的问题;同时,由于是手工操作会引入程序不是最新、复查差异不全等问题。
发明内容
有鉴于此,本申请提供一种代码复查方法和系统,以提高代码复查员的代码复查效率。
为了实现上述目的,现提出的方案如下:
一种代码复查方法,包括:
获取代码修改前的开发基线以及代码修改后的开发基线;
按照目录、文件名对所述代码修改前的开发基线和所述代码修改后的开发基线进行对比,生成差异报告;
将所述差异报告发送至代码复查管理平台进行管理。
优选的,所述按照目录、文件名对所述代码修改前的开发基线和所述代码修改后的开发基线进行对比,之后还包括:
对代码差异部分进行重点标注。
优选的,所述差异报告为HTML格式文件。
优选的,所述将所述差异报告发送至代码复查管理平台进行管理,包括:
对HTML格式的所述差异报告进行解析,增加代码复查控制按钮等,并生成JSP格式文件的差异报告。
一种代码复查系统,包括:
代码采集单元,用于获取代码修改前的开发基线以及代码修改后的开发基线;
代码复查单元,用于按照目录、文件名对所述代码修改前的开发基线和所述代码修改后的开发基线进行对比,生成差异报告;
代码复查管理单元,用于将所述差异报告发送至代码复查管理平台进行管理。
优选的,所述代码复查单元还用于对代码差异部分进行重点标注。
优选的,所述差异报告为HTML格式文件。
优选的,所述代码复查管理单元具体用于对HTML格式的所述差异报告进行解析,增加代码复查控制按钮等,并生成JSP格式文件的差异报告。
经由上述技术方案可知,本申请公开了一种代码复查方法和系统。在获取代码修改前的开发基线以及代码修改后的开发基线后,按照目录、文件名对代码修改前的开发基线和代码修改后的开发基线进行对比,生成差异报告,并将该差异报告发送至代码复查管理平台进行管理。与现有技术相比,本发明自动提取配置库中修改前基线、修改后基线的持续集成流程,并对修改前基线和修改后基线的逐个目录、逐个文件的比较,形成文件内容差异分析报告,提高了代码复查员的代码复查效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明一个实施例公开的一种代码复查方法的流程示意图;
图2示出了本申请另一个实施例公开的一种代码复查管理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1示出了本发明一个实施例公开的一种代码复查方法的流程示意图。
由图1可知,该方法包括:
S101:获取代码修改前的开发基线以及代码修改后的开发基线。
主要通过开源工具Jekins来发起对配置库一些列的操作命令集合(SHELL),来实现程序代码的提取;Jekins在发起调度前,需设置两个参数,一个参数是程序开发基线编号,一个是复查程序基线编号;SHELL命令从配置库中提取两个基线的全量版本,并将两部分全量版本落地存储在磁盘中。
S102:按照目录、文件名对所述代码修改前的开发基线和所述代码修改后的开发基线进行对比,生成差异报告。
通过读取磁盘中的两个基线的版本程序,按照逐目录、逐文件的文件内容比对,生成左右帧分别列示两个基线程序,同时重点标注差异部分内容的HTML静态差异报告;并将报告落地写入磁盘。
S103:将所述差异报告发送至代码复查管理平台进行管理。
该代码复查管理平台一个WEB网站,通过将HTML代码比对差异报告进行解析,增加代码复查的控制按钮等代码后,生成JSP页面。同时WEB网站具有用户权限管理功能,可以提供用户对差异报告JSP的访问。客户可以操作页面上的按钮,“增加缺陷”、“缺陷查询”、“下一个差异”等功能,实现代码复查时的缺陷录入功能;同时,WEB网站,还提供了代码复查缺陷的管理、导出为excel、查询等功能。
由以上实施例可知,该申请具有以下优点:
1、代码复查过程更加有保障、规范;通过自动、可重复性的自动操作,从配置库直接进行代码的提取、比较;避免了复查内容不全、复查基线不争取等人为过程带来的问题。
2、代码复查效率的提升,差异化报告可以对复查的重点进行提示,避免了人工寻找差异点的投入;通过由于线下功能,线上转化,提高了代码集中走查时的准备过程。
2、增加了缺陷管理、缺陷导出等高附加值的功能,提高缺陷的集中管理,以及后续缺陷的归档和分析功能实现。
参见图2示出了本申请另一个实施例公开的一种代码复查管理系统的结构示意图。
由图2可知,该系统包括:代码采集单元1、代码复查单元2以及代码复查管理单元3。
其中,代码采集单元用于获取代码修改前的开发基线以及代码修改后的开发基线。
具体的,通过开源工具Jekins来发起对配置库一些列的操作命令集合(SHELL),来实现程序代码的提取;Jekins在发起调度前,需设置两个参数,一个参数是程序开发基线编号,一个是复查程序基线编号;SHELL命令从配置库中提取两个基线的全量版本,并将两部分全量版本落地存储在磁盘中
代码复查单元用于按照目录、文件名对所述代码修改前的开发基线和所述代码修改后的开发基线进行对比,生成差异报告。
该单元主要通过读取磁盘中的两个基线的版本程序,按照逐目录、逐文件的文件内容比对,生成左右帧分别列示两个基线程序,同时重点标注差异部分内容的HTML静态差异报告;并将报告落地写入磁盘。
代码复查管理单元用于将所述差异报告发送至代码复查管理平台进行管理。
其中,该代码复查管理单元为一个WEB网站,通过将HTML代码比对差异报告进行解析,增加代码复查的控制按钮等代码后,生成JSP页面。同时WEB网站具有用户权限管理功能,可以提供用户对差异报告JSP的访问。客户可以操作页面上的按钮,“增加缺陷”、“缺陷查询”、“下一个差异”等功能,实现代码复查时的缺陷录入功能;同时,WEB网站,还提供了代码复查缺陷的管理、导出为excel、查询等功能。
需要说明的是该系统实施例与方法实施例相对应,其执行过程和执行原理相同,在此不作赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (2)
1.一种代码复查方法,其特征在于,所述方法应用于一个代码复查管理平台WEB网站,包括:
获取代码修改前的开发基线以及代码修改后的开发基线;
按照目录、文件名对所述代码修改前的开发基线和所述代码修改后的开发基线进行对比,生成差异报告,以提高代码复查员的代码复查效率;
将所述差异报告发送至代码复查管理平台进行管理;
其中,获取代码修改前的开发基线以及代码修改后的开发基线,包括:
通过开源工具Jekins来发起对配置库一系 列的操作命令集合,来实现程序代码的提取;Jekins在发起调度前,需设置两个参数,一个参数是程序开发基线编号,一个是复查程序基线编号;使用SHELL命令从配置库中提取两个基线的全量版本,并将两部分全量版本落地存储在磁盘中;
其中,按照目录、文件名对所述代码修改前的开发基线和所述代码修改后的开发基线进行对比,生成差异报告,以提高代码复查员的代码复查效率,包括:
通过读取磁盘中的两个基线的版本程序,按照逐目录、逐文件的文件内容比对,生成左右帧分别列示两个基线程序,同时重点标注差异部分内容的HTML静态差异报告;并将报告落地写入磁盘;
其中,所述差异报告为HTML格式文件;
其中,所述将所述差异报告发送至代码复查管理平台进行管理,包括:
对HTML格式的所述差异报告进行解析,增加代码复查控制按钮,并生成JSP格式文件的差异报告,同时WEB网站具有用户权限管理功能,提供用户对差异报告JSP的访问,以便客户操作页面上的按钮,“增加缺陷”、“缺陷查询”、“下一个差异”功能,实现代码复查时的缺陷录入功能;同时,WEB网站,还提供了代码复查缺陷的管理、导出为excel、查询功能。
2.一种代码复查系统,其特征在于,所述系统应用于一个代码复查管理平台WEB网站,包括:
代码采集单元,用于获取代码修改前的开发基线以及代码修改后的开发基线;
代码复查单元,用于按照目录、文件名对所述代码修改前的开发基线和所述代码修改后的开发基线进行对比,生成差异报告,以提高代码复查员的代码复查效率;
代码复查管理单元,用于将所述差异报告发送至代码复查管理平台进行管理;
其中,所述代码采集单元具体用于,通过开源工具Jekins来发起对配置库一系 列的操作命令集合,来实现程序代码的提取;Jekins在发起调度前,需设置两个参数,一个参数是程序开发基线编号,一个是复查程序基线编号;使用SHELL命令从配置库中提取两个基线的全量版本,并将两部分全量版本落地存储在磁盘中;
其中,所述代码复查单元具体用于,通过读取磁盘中的两个基线的版本程序,按照逐目录、逐文件的文件内容比对,生成左右帧分别列示两个基线程序,同时重点标注差异部分内容的HTML静态差异报告;并将报告落地写入磁盘;
其中,所述差异报告为HTML格式文件;
其中,所述代码复查管理单元具体用于对HTML格式的所述差异报告进行解析,增加代码复查控制按钮,并生成JSP格式文件的差异报告,同时WEB网站具有用户权限管理功能,提供用户对差异报告JSP的访问,以便客户操作页面上的按钮,“增加缺陷”、“缺陷查询”、“下一个差异”功能,实现代码复查时的缺陷录入功能;同时,WEB网站,还提供了代码复查缺陷的管理、导出为excel、查询功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711165380.4A CN107783780B (zh) | 2017-11-21 | 2017-11-21 | 一种代码复查方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711165380.4A CN107783780B (zh) | 2017-11-21 | 2017-11-21 | 一种代码复查方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107783780A CN107783780A (zh) | 2018-03-09 |
CN107783780B true CN107783780B (zh) | 2021-04-20 |
Family
ID=61430764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711165380.4A Active CN107783780B (zh) | 2017-11-21 | 2017-11-21 | 一种代码复查方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107783780B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109358841B (zh) * | 2018-08-15 | 2024-04-30 | 中国平安人寿保险股份有限公司 | 网页应用开发编译方法、装置及存储设备、计算机设备 |
CN109086217A (zh) * | 2018-11-01 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种统计c语言编码缺陷率的实现方法,设备及存储介质 |
CN109710519A (zh) * | 2018-12-13 | 2019-05-03 | 平安普惠企业管理有限公司 | 项目差异报告生成方法、装置、计算机设备及存储介质 |
CN109901876A (zh) * | 2019-02-28 | 2019-06-18 | 携程旅游信息技术(上海)有限公司 | 代码评审方法、系统、设备及存储介质 |
CN111142931B (zh) * | 2020-01-02 | 2023-03-21 | 中国银行股份有限公司 | 一种基线信息确定方法、装置、服务器及存储介质 |
CN112486563A (zh) * | 2020-12-02 | 2021-03-12 | 车智互联(北京)科技有限公司 | 一种代码管理方法、系统、计算设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750469A (zh) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | 源代码统计分析方法和系统 |
CN104991790A (zh) * | 2015-06-09 | 2015-10-21 | 北京奇虎科技有限公司 | 一种文件的升级发布方法和装置 |
CN106201889A (zh) * | 2016-07-15 | 2016-12-07 | 国云科技股份有限公司 | 一种检查程序代码编写规范的系统及其实现方法 |
CN106776270A (zh) * | 2016-11-11 | 2017-05-31 | 努比亚技术有限公司 | 一种代码检测方法、装置及终端 |
US9767002B2 (en) * | 2015-02-25 | 2017-09-19 | Red Hat Israel, Ltd. | Verification of product release requirements |
CN107247614A (zh) * | 2017-05-16 | 2017-10-13 | 四川长虹电器股份有限公司 | 在软件编译时检查应用信息的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9594544B2 (en) * | 2012-06-07 | 2017-03-14 | Microsoft Technology Licensing, Llc | Visualized code review |
CN104580099B (zh) * | 2013-10-22 | 2018-05-08 | 北京神州泰岳软件股份有限公司 | 一种防火墙策略版本管理方法和系统 |
CN104765692B (zh) * | 2015-04-29 | 2018-11-06 | 北京嘀嘀无限科技发展有限公司 | 用于自动化测试软件的方法及设备 |
CN106547726A (zh) * | 2015-09-16 | 2017-03-29 | 中国航空工业第六八研究所 | 一种基于文档的自动化审查方法及审查装置 |
US10025765B2 (en) * | 2015-10-15 | 2018-07-17 | International Business Machines Corporation | Context sensitive verification point driven inspection |
CN106775713B (zh) * | 2016-12-14 | 2020-04-07 | 网易(杭州)网络有限公司 | 文件审核方法、装置及文件提交控制系统 |
CN106843914A (zh) * | 2017-03-31 | 2017-06-13 | 惠州华阳通用电子有限公司 | 一种软件源代码差异文件提取方法 |
-
2017
- 2017-11-21 CN CN201711165380.4A patent/CN107783780B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750469A (zh) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | 源代码统计分析方法和系统 |
US9767002B2 (en) * | 2015-02-25 | 2017-09-19 | Red Hat Israel, Ltd. | Verification of product release requirements |
CN104991790A (zh) * | 2015-06-09 | 2015-10-21 | 北京奇虎科技有限公司 | 一种文件的升级发布方法和装置 |
CN106201889A (zh) * | 2016-07-15 | 2016-12-07 | 国云科技股份有限公司 | 一种检查程序代码编写规范的系统及其实现方法 |
CN106776270A (zh) * | 2016-11-11 | 2017-05-31 | 努比亚技术有限公司 | 一种代码检测方法、装置及终端 |
CN107247614A (zh) * | 2017-05-16 | 2017-10-13 | 四川长虹电器股份有限公司 | 在软件编译时检查应用信息的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107783780A (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107783780B (zh) | 一种代码复查方法和系统 | |
US6442714B1 (en) | Web-based integrated testing and reporting system | |
US9213541B2 (en) | Creation, generation, distribution and application of self-contained modifications to source code | |
CN106293675B (zh) | 系统静态资源加载方法及装置 | |
CN106844204B (zh) | 一种利用移动终端生成缺陷报告的方法及系统 | |
CN109032949A (zh) | 一种前端代码质量检测方法及装置 | |
CN106960058B (zh) | 一种网页结构变更检测方法及系统 | |
US20120102390A1 (en) | Method and apparatus for generating widget | |
Rath et al. | The ilmseven dataset | |
CN105224544A (zh) | 一种数据库的数据编辑方法及装置 | |
CN103838796A (zh) | 一种网页结构化信息抽取方法 | |
CN101872350A (zh) | 网页正文抽取方法和装置 | |
CN103605660A (zh) | 一种变电站配置描述文件的图形化处理方法 | |
CN102521008A (zh) | 程序编译装置和程序编译方法 | |
CN111090665A (zh) | 一种数据任务调度方法及调度系统 | |
CN117610527A (zh) | 基于大语言模型的报表分析及报告生成方法及系统 | |
JP7346332B2 (ja) | データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム | |
JP5045517B2 (ja) | 設計書作成プログラム、該装置、及び該方法 | |
CN111857924A (zh) | 一种终端的多语言实现方法及装置 | |
CN109714225B (zh) | 一种Elink的自动化测试方法及系统 | |
CN111752927A (zh) | 基于克隆的数据形态生成方法、装置、终端设备及介质 | |
CN111061469A (zh) | Web前端源代码生成方法、装置、存储介质及处理器 | |
CN106777025B (zh) | 一种数据库物理模型的分析方法及系统 | |
CN108549693A (zh) | 基于爬虫技术的cms页面生成方法 | |
CN111597081B (zh) | 一种测试用例设计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |