代码质量检查方法和系统与流程

文档序号:12120639阅读:740来源:国知局
代码质量检查方法和系统与流程

本发明涉计算机软件应用技术领域,特别涉及一种代码质量检查方法和系统。



背景技术:

软件代码就是程序员用开发工具所支持的语言写出来的源文件。它是一组有序的数字或字母的排列,是代表客观实体及其属性的符号。软件代码质量就是代码编写的一种统一规范,让代码具有可读行,思路清晰。高质量的代码需具备可读性、可维护性和可变更性三个特征。

对于大型企业也而言,会存在多个软件开发项目,每个项目会由不同的开发组负责。此外,随着代码复杂性的增加,往往一个项目需要由若干开发人员共同开发完成。不同的开发人员负责不同的部分,更新维护的时间也不同。现有的代码质量检查方法仅支持手动触发的方式,无法在软件应用发布及代码提交的第一时间触发质量检查,这无疑不能适应目前的自动化的需求。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中代码部分更新或全量更新后质量检查不及时,无法第一时间自动触发代码质量检查的缺陷,提供一种能够自动触发代码质量检查提高后续测试效率的代码质量检查方法和系统。

本发明是通过下述技术方案来解决上述技术问题:

一种代码质量检查方法,其特点在于,包括以下步骤:S1、定时查询代码库中是否存在需要进行质量检查的待检查代码,若是,则执行步骤S2;S2、使用SonarQube(一种代码质量检测平台)对所述待检查代码进行质量检查并判断是否有问题,若是,则输出检查结果;其中,所述代码库用于存放代码。

本方案中,通过定时查询存放代码的代码库,能够及时发现代码库中存放的代码是否有需要检查的代码,如果有则自动调用SonarQube对代码进行质量检查,如果代码有问题,及时输出检查结果以备后续处理。解决了目前的代码质量检查仅由手动触发,无法在全量代码发布及变更代码提交时及时触发质量检查的问题。本方案中,定时可以是30分钟查询一次,也可以是24小时查询一次,该时间取决于具体的应用需求。其中需要检查的代码一般为有部分变更的代码或者全量代码修改后整体发布的代码。通过本方案,能够在第一时间自动地发现代码库中变更后的代码隐藏或潜在的问题。

较佳地,所述步骤S1中,所述需要进行质量检查的情况为所述代码库中有新的变更代码和/或新发布的全量代码。

本方案中,代码库供代码开发人员上传待检查的代码,可以在新的全量代码开发完成后上传新发布的全量代码,也可以针对已存在代码库中的全量代码进行部分修改之后将新的变更代码上传。本方法发现代码库中的代码有新变更后,将针对新变更的代码进行质量检查。

较佳地,所述步骤S1和S2之间还包括以下步骤:从所述代码库中拉取所述待检查代码。

本方案中,先将待检查代码从代码库中下载到本地,然后再使用SonarQube进行代码质量检查。

较佳地,所述步骤S2中,若否,则执行S3:S3、对所述待检查代码进行单元测试并判断是否有问题,若是,则输出检查结果。

本方案中,对于待检查代码进行单元测试,从动态的角度测试代码运行过程中是否存在问题,能够获取单元测试的覆盖率。

较佳地,所述输出检查结果包括将所述检查结果以邮件形式发送至代码管理员。

本方案中,通过邮件将检查结果第一时间发送至代码管理员,以便能够及时反馈代码隐藏或潜在的问题。其中代码管理员可以是对应的代码提交人,也可以是研发经理等。

较佳地,所述方法还包括设置代码组信息和设置所述待检查代码的路径信息,所述代码组信息包括所述代码管理员。

本方案中,可以根据项目分组,不同项目划分为不同的代码组,每个代码组信息提前设置好,其中代码组信息包括本组的代码管理员,另外还需要提前配置本组代码在代码库中的存放路径,以备本方法能够及时查询到待检查的代码,同时实现了质量检查对象的统一管理。通过本方法能够实现代码组人员信息统一、有效的管理,质量检查结果能够及时准确的通知到相关人。

本发明还提供一种代码质量检查系统,其特点在于,包括:定时判断模块,用于定时查询代码库中是否存在需要进行质量检查的待检查代码,若是,则调用代码扫描模块;代码扫描模块,用于从所述代码库中拉取所述待检查代码,使用SonarQube对所述待检查代码进行质量检查并判断是否有问题,若是,则输出检查结果;其中,所述代码库用于存放代码。

较佳地,所述需要进行质量检查的情况为所述代码库中有新的变更代码和/或新发布的全量代码。

较佳地,所述代码质量检查系统还包括单元测试模块,所述单元测试模块用于当所述代码扫描模块中判断没有问题时对所述待检查代码进行单元测试并判断是否有问题,若是,则输出检查结果。

较佳地,所述输出检查结果包括将所述检查结果以邮件形式发送至代码管理员。

本发明的积极进步效果在于:本发明提供的代码质量检查方法和系统通过定时查询存放代码的代码库,能够及时发现代码库中存放的代码是否有需要检查的代码,如果有则自动调用SonarQube对代码进行质量检查,如果代码有问题,及时输出检查结果以备后续处理。解决了目前的代码质量检查仅由手动触发,无法在全量代码发布及变更代码提交时及时触发质量检查的问题。通过本发明能够在第一时间自动地发现代码库中变更后的代码隐藏或潜在的问题,并能及时反馈,协助开发人员更快的发现定位问题,为测试前扫除系统问题,提高测试效率。进一步的,本发明还能够将检查结果以邮件的形式通知到代码提交人或对应的代码管理员,以便后续针对异常及时处理。

附图说明

图1为本发明实施例1的代码质量检查方法的流程图。

图2为本发明实施例2的代码质量检查系统的示意图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

如图1所示,一种代码质量检查方法,包括以下步骤:

101、设置代码组信息和设置待检查代码的路径信息,其中代码组信息包括代码管理员。

102、定时查询代码库中是否存在需要进行质量检查的待检查代码,若是,则执行步骤103,若否,则结束;其中代码库用于存放代码,本实施例中30分钟查询一次代码库。

103、从代码库中拉取待检查代码。

104、使用SonarQube对待检查代码进行质量检查并判断是否有问题,若是,则执行步骤106,若否则执行步骤105。

105、对待检查代码进行单元测试并判断是否有问题,若是,则执行步骤106,若否则结束。

106、将检查结果以邮件形式发送至代码管理员。

本实施例中需要进行质量检查的情况可以是代码库中有新的变更代码和/或新发布的全量代码。

本实施例实现了定时拉取代码库中的变更代码,及时检查变更代码的质量,并能够将检查结果以邮件的形式通知到相关人,可以是代码提交人也可以是对应的研发经理,能够协助开发人员更快的发现并定位问题,提高测试效率。本实施例也可以进一步的通过爬虫工具,不间断的获取全量代码对应应用的发布信息,并触发代码库全量检查,实现应用发布即刻触发检查的功能,从而及时检查最新上线代码的集成质量。

实施例2

如图2所示,一种代码质量检查系统,包括定时判断模块1、代码扫描模块2和单元测试模块3。其中,定时判断模块1用于定时查询代码库中是否存在需要进行质量检查的待检查代码,若是,则调用代码扫描模块2,其中代码库用于存放代码,需要进行质量检查的情况为代码库中有新的变更代码和/或新发布的全量代码。代码扫描模块2用于从代码库中拉取待检查代码,使用SonarQube对待检查代码进行质量检查并判断是否有问题,若是,则输出检查结果。单元测试模块3用于当代码扫描模块2中判断没有问题时对待检查代码进行单元测试并判断是否有问题,若是,则输出检查结果。本实施例中输出检查结果的方式为将检查结果以邮件形式发送至代码管理员。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

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