一种代码质量控制方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:23604526 阅读:14 留言:0更新日期:2020-03-28 05:39
本发明专利技术公开了一种代码质量控制方法、装置、计算机设备及存储介质,方法包括:基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;在Jenkins服务器上配置扫描文件;设置目标代码所在目录和SonarQube服务器地址;当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。本发明专利技术提高了代码质量管理的效率,降低了代码出错率。

A code quality control method, device, computer equipment and storage medium

【技术实现步骤摘要】
一种代码质量控制方法、装置、计算机设备及存储介质
本专利技术涉及代码质量控制领域,特别涉及一种代码质量控制方法、装置、计算机设备及存储介质。
技术介绍
在微服务框架的开发过程中,不同的开发人员负责独立的功能模块,且每人的编码风格不一致,故往往会提供一套编码规范进行规约,在推广的过程中,考虑到开发人员的能力及习惯不同,且项目开发的迭代周期,紧急程度不同,使得代码规范在更多的时候只是形式化,而不是实践化。针对这种情况,有人提出了CodeReview(代码审查),CodeReview在某种程度上可以解决代码是否符合规范的问题,但由于一个项目中的代码量多,在CodeReview时容易出现遗漏,而且耗时大,故此不建议使用此方式进行代码质量管理。
技术实现思路
本专利技术的目的是提供一种代码质量控制方法、装置、计算机设备及存储介质,现有技术中代码质量控制方法效率低的问题。本专利技术实施例提供一种代码质量控制方法,其中,包括:基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;在Jenkins服务器上配置扫描文件;设置目标代码所在目录和SonarQube服务器地址;当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。优选的,还包括:预先定义扫描插件的扫描器,以指定扫描的特定领域语言。优选的,还包括:预先定义扫描插件的扫描语言,以指定所述特定领域语言的属性。优选的,还包括:预先定义扫描插件的扫描规则,以确定解析xml文件的规则。优选的,还包括:预先定义扫描插件的质量配置,以将扫描规则形成集合并按指定名称对各扫描规则命名。优选的,所述设置目标代码所在目录和SonarQube服务器地址,包括:设置项目名称和SonarQube服务器的账号信息。优选的,还包括:预先配置Jenkins任务以及定时时间。本专利技术实施例还提供一种代码质量控制装置,其包括:加载单元,用于基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;激活单元,用于激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;配置单元,用于在Jenkins服务器上配置扫描文件;设置单元,用于设置目标代码所在目录和SonarQube服务器地址;扫描单元,用于当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;判断单元,用于根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的代码质量控制方法。本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的代码质量控制方法。本专利技术实施例提供了一种代码质量控制方法、装置、计算机设备及存储介质,方法包括:基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;在Jenkins服务器上配置扫描文件;设置目标代码所在目录和SonarQube服务器地址;当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。本专利技术实施例提高了代码质量管理的效率,降低了代码出错率。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例所提供的一种代码质量控制方法的流程示意图;图2为本专利技术实施例所提供的一种代码质量控制装置的示意性框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。请参阅图1,图1为本专利技术实施例提供的一种代码质量控制方法的流程示意图,包括步骤S101~S106:S101、基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;此步骤中,基于SonarQube平台的插件API,实现一套与代码规范匹配的SonarQube插件,用来扫描代码。具体可按照不同的语言(Java,Python,Go,SQL,JavaScript等)提供不同功能实现的扫描插件。SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。SonarQube支持多种编程语言,例如java、PL/SQL、JavaScrip等等,从而可以实现多种编程语言的代码质量管理与检测。S102、激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;此步骤中,在SonarQube服务器上激活扫描插件,即激活该扫描插件对应的质量配置(QualityProfile),也就是激活编码规范对应的规则集。并且在此步骤中还预先设置好代码的质量阀,该质量阀即为质量指标。S103、在Jenkins服务器上配置扫描文件;此步骤是指在Jenkins服务器上,配置sonar-scanner-cli,此文件为扫描文本文档来自技高网...

【技术保护点】
1.一种代码质量控制方法,其特征在于,包括:/n基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;/n激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;/n在Jenkins服务器上配置扫描文件;/n设置目标代码所在目录和SonarQube服务器地址;/n当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;/n根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。/n

【技术特征摘要】
1.一种代码质量控制方法,其特征在于,包括:
基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;
激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;
在Jenkins服务器上配置扫描文件;
设置目标代码所在目录和SonarQube服务器地址;
当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;
根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。


2.根据权利要求1所述的代码质量控制方法,其特征在于,还包括:
预先定义扫描插件的扫描器,以指定扫描的特定领域语言。


3.根据权利要求2所述的代码质量控制方法,其特征在于,还包括:
预先定义扫描插件的扫描语言,以指定所述特定领域语言的属性。


4.根据权利要求1所述的代码质量控制方法,其特征在于,还包括:
预先定义扫描插件的扫描规则,以确定解析xml文件的规则。


5.根据权利要求4所述的代码质量控制方法,其特征在于,还包括:
预先定义扫描插件的质量配置,以将扫描规则形成集合并按指定名称对各扫描规则命名。


6.根据权利要求1所述的代码质量控制方法,其特征在于,所述设置目标代码所在目录和So...

【专利技术属性】
技术研发人员:刘倍材李柏黄波潘孝李如先
申请(专利权)人:深圳前海环融联易信息科技服务有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1