CN112256575A - 一种代码质量管理方法、系统及相关设备 - Google Patents
一种代码质量管理方法、系统及相关设备 Download PDFInfo
- Publication number
- CN112256575A CN112256575A CN202011137901.7A CN202011137901A CN112256575A CN 112256575 A CN112256575 A CN 112256575A CN 202011137901 A CN202011137901 A CN 202011137901A CN 112256575 A CN112256575 A CN 112256575A
- Authority
- CN
- China
- Prior art keywords
- code
- detection
- data
- intranet
- program
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 52
- 238000001514 detection method Methods 0.000 claims abstract description 134
- 230000007547 defect Effects 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 238000003326 Quality management system Methods 0.000 claims description 18
- 238000011161 development Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000008676 import Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000238366 Cephalopoda Species 0.000 description 1
- 206010013911 Dysgeusia Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3628—Software debugging of optimised code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种代码质量管理方法、系统及相关设备,用于实现代码的定时自动检测,识别缺陷代码并自动定位缺陷代码的开发人员,提高了代码质量管理的效率。本发明实施例方法包括:配置定时任务,定时触发运行代码检测工具及数据采集工具,所述代码检测工具用于进行全量代码扫描检测并生成检测结果数据,所述数据采集工具用于采集所述代码检测工具生成的检测结果数据;根据预设的映射关系确定所述检测结果数据中的缺陷代码数据信息对应的开发人员。
Description
技术领域
本发明涉及代码质量管理技术领域,尤其涉及一种代码质量管理方法、系统及相关设备。
背景技术
为保证软件开发的质量,现有方案中,软件开发人员在整个程序开发之后,人工对软件代码进行复查,验证代码逻辑处理正确性,是目前较为通用的做法。
现有方案基于人工进行复查,效率低下,而且是在软件开发完成之后进行复查,整个软件开发过程中写入代码的作者可能包含多个,代码检测到的质量问题不能精准定位到缺陷作者。
发明内容
本发明实施例提供了一种代码质量管理方法、系统及相关设备,用于实现代码的定时自动检测,识别缺陷代码并自动定位缺陷代码的开发人员,提高了代码质量管理的效率。
本发明实施例第一方面提供了一种代码质量管理方法,可包括:
周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据;
采集所述内网中的检测结果数据,并将所述检测结果数据推送至外网;
在所述外网中根据预设的映射关系确定所述检测结果数据中的缺陷代码数据信息对应的开发人员。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理方法中,所述周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,可包括:
基于调度系统软件项目配置调度程序,以定时调用代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描检测。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理方法中,所述对内网中预设存储空间中的程序代码进行全量代码扫描检测,可包括:
对内网中预设存储空间中的程序代码进行全量代码扫描,若识别到目标代码段符合预设代码格式,则判定所述目标代码段不符合预设标准。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理方法,还可以包括:
基于Java后台开发框架软件配置数据转换程序,所述数据转换程序用于将获取的缺陷代码数据信息的数据格式转换成项目管理系统兼容的数据格式,并将格式转换之后的缺陷代码数据信息推送到项目管理系统,以使得所述项目管理系统向开发人员推送缺陷代码修改任务。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理方法,还可以包括:
将数据库中的代码检测规则进行URL转码以适配所述代码检测工具中的数据格式;
调用所述代码检测工具的应用程序接口导入经过URL转码之后的代码检测规则。
本发明实施例第二方面提供了一种代码质量管理系统,可包括:
检测模块,用于周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据;
推送模块,用于采集所述内网中的检测结果数据,并将所述检测结果数据推送至外网;
确定模块,在所述外网中根据预设的映射关系确定所述检测结果数据中的缺陷代码数据信息对应的开发人员。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理系统中,所述检测模块可包括:
调用单元,基于调度系统软件项目配置调度程序,以定时调用代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描检测。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理系统中,所述代码检测工具用于对内网中预设存储空间中的程序代码进行全量代码扫描,若识别到目标代码段符合预设代码格式,则判定所述目标代码段不符合预设标准。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理系统,还可以包括:
处理模块,基于Java后台开发框架软件配置数据转换程序,所述数据转换程序用于将获取的缺陷代码数据信息的数据格式转换成项目管理系统兼容的数据格式,并将格式转换之后的缺陷代码数据信息推送到项目管理系统,以使得所述项目管理系统向开发人员推送缺陷代码修改任务。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理系统,还可以包括:
转码模块,用于将数据库中的代码检测规则进行URL转码以适配所述代码检测工具中的数据格式;
调用模块,调用所述代码检测工具的应用程序接口导入经过URL转码之后的代码检测规则。
本发明实施例第三方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,在程序开发完成之前或之后,代码质量管理系统可以周期性自动检测识别内网中的缺陷代码数据,然后根据外网中预设的映射关系确定缺陷代码数据信息对应的开发人员。相对于现有技术,本发明实施例中,可以定时实现代码的自动检测,识别缺陷代码并自动定位缺陷代码的开发人员,提高了代码质量管理的效率。
附图说明
图1为本发明实施例中一种代码质量管理方法的一个实施例示意图;
图2为本发明实施例中一个具体应用实施例中的业务场景示意图;
图3为本发明实施例中一种代码质量管理系统的一个实施例示意图;
图4为本发明实施例中一种计算机装置的一个实施例示意图。
具体实施方式
本发明实施例提供了一种代码质量管理方法、系统及相关设备,用于实现代码的定时自动检测,识别缺陷代码并自动定位缺陷代码的开发人员,提高了代码质量管理的效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种代码质量管理方法的一个实施例可包括:
101、周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据;
鉴于现有方案往往是基于人工进行代码复查,效率低下,本申请中可以周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据。
102、采集内网中的检测结果数据,并将检测结果数据推送至外网;
实际应用中,为了保障数据的安全,程序代码对应的检测结果数据往往是存储与内网中,而开发项目管理系统往往在外网中,为此需要将检测结果数据推送至外网,具体推送外网的过程可以通过特定的软件工具,例如natapp软件,具体此处不做限定。
103、根据预设的映射关系确定检测结果数据中的缺陷代码数据信息对应的开发人员。
为了定位缺陷代码对应的开发人员,本发明实施例中可以在外网中预先保存代码数据的位置与开发人员之间的映射关系(例如可以设置代码所在页面与开发人员的映射关系),当检测到缺陷代码数据之后,可以根据预设的映射关系确定检测结果数据中的缺陷代码数据信息(至少包括缺陷代码数据的位置)对应的开发人员。
本发明实施例中,在程序开发完成之前或之后,代码质量管理系统可以周期性自动检测识别内网中的缺陷代码数据,然后根据外网中预设的映射关系确定缺陷代码数据信息对应的开发人员。相对于现有技术,本发明实施例中,可以定时实现代码的自动检测,识别缺陷代码并自动定位缺陷代码的开发人员,提高了代码质量管理的效率。
可选的,在上述图1所示的实施例的基础上,可选的,在代码质量管理系统可以基于调度系统软件项目(例如jenkins软件项目)配置调度程序定时任务,定时触发运行代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描检测。其中,jenkins软件项目是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,提供了一个开放易用的软件平台,可以使软件的持续集成更加便捷。可以理解的是,本发明实施例中的代码检测工具可以采用常见的工具例如Sonar(Sonar Qube)工具(支持java、C#、C/C++、PL/SQL、Cobol、JavaScrip、Groovy等等二十几种编程语言的代码质量管理与检测)、Fortify SCA(Source Code Analysis)工具、Checkmarx CxSuite工具等,也可以根据实际需求定制编写代码检测规则,然后独立运行检测或者将其导入代码检测工具中运行检测,具体此处不做限定。
可选的,代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描过程中,若识别到目标代码段符合预设代码格式,则判定目标代码段不符合预设标准。
示例性的,当需要识别空指针的非标准用法时,可以预设代码格式如下:
public int lengthPlus(String str){int len=2;try{len+=str.length();}catch(NullPointerException e){log.info("argument was null");}return len;}
若识别到上述空指针的非标准用法对应的代码格式时,可以建议修改为标准用法:public int lengthPlus(String str){int len=2;if(str!=null){len+=str.length();}else{log.info("argument was null");}return len;}
示例性的,当需要识别条件判断冗余程序时,可以预设代码格式如下:
a=false;if(a){//Noncompliant doSomething();//从不执行}
if(!a||b){//Noncompliant;"!a"is always"true","b"is never evaluateddoSomething();}else{doSomethingElse();//从不执行}.
若识别到上述条件判断冗余程序对应的代码格式时,可以建议修改为标准用法:When the condition is a single final boolean final boolean debug=false;//...if(debug){//Print something}When the condition is literally true orfalse.if(true){//do something}.
可选的,作为一种可能的实施方式,本发明实施例中代码质量管理系统可以将数据库中的代码检测规则进行URL转码以适配代码检测工具中的数据格式;调用代码检测工具的应用程序接口导入经过URL转码之后的代码检测规则。
可选的,在上述图1所示的实施例的基础上,作为一种可能的实施方式,本发明实施例中,代码质量管理系统还可以基于Java后台开发框架软件(例如,Spring Boot项目)配置数据转换程序,数据转换程序用于将获取的缺陷代码数据信息的数据格式转换成项目管理系统兼容的数据格式,并将格式转换之后的缺陷代码数据信息推送到项目管理系统,以使得项目管理系统向开发人员推送缺陷代码修改任务。其中,可选的,代码数据信息可以“标题”、“详细描述”、“问题链接”、“开发人员”等四个字段及其字段值。
其中,Spring Boot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架,其简化新Spring应用的初始搭建以及开发过程。
为了便于理解,请参阅图2中的业务场景示意图,下面将结合具体的应用实施例对本发明实施例中的代码质量管理方法进行描述,具体可以包括如下步骤:
基于调度系统jenkins软件工具会配置定时任务,每日第一设定时间会触发代码检测系统中的代码检测工具做全量代码扫描,第二设定时间会触发获取数据工具,获取代码检测工具扫描的错误,并将获取的数据存储在内网,再将数据从内网推到外网,推到外网的数据,通过调用数据聚合服务(将缺陷代码数据信息组合成json串形式,不同缺陷代码数据信息做分行处理,最终形成一份json格式的文件)和数据入库的服务(将缺陷代码数据信息的数据格式转换为项目管理系统兼容的数据格式),将数据推送到项目管理系统的数据库,同时项目管理系统会将错误根据作者自动推送到作者本人。
其中,代码检测工具中的代码检测规则支持动态配置,代码检测规则中的“错误类型”这一字段可以通过配置规则做url转码(示例性的,源码:squid:s1698,转换后:squid%3AS2259),代码检测规则可以检测开发语言类型可以包括java、C++、C、python、js、PHP、HTML等主流开发语言,针对采集的错误类型可以动态配置代码检测规则,具体的错误类型可以包括BUG、VULNERABILITY(漏洞)、CODE_SMELL(坏味道)等。还可以支持扫描时间范围动态配置,比如配置20190502-20190502时间端,具体可以通过获取数据脚本调用时间函数配置“年、月、日、时、分、秒、毫秒”做时间数据转换,编写数据采集工具脚本。
其中,数据入库的服务,是基于Spring Boot项目配置数据转换程序,数据转换程序用于将获取的缺陷代码数据信息的数据格式转换成项目管理系统兼容的数据格式,并将格式转换之后的缺陷代码数据信息推送到项目管理系统,以使得项目管理系统向开发人员推送缺陷代码修改任务。
本实施中,代码质量检测系统根据预设的代码检测规则,定时扫描代码库读取缺陷代码数据并定位缺陷代码数据的开发工程师,数据自动推送项目管理系统,由项目管理系统点对点推送给开发工程师,例如,可以邮件系统定时将错误推送给作者修改代码。质量管控在项目管理系统统筹错误修改情况,让产品更新迭代过程的代码质量,变得可观察、可控。
请参阅图3,本发明实施例还提供了一种代码质量管理系统,可包括:
检测模块301,用于周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据;
推送模块302,用于采集内网中的检测结果数据,并将检测结果数据推送至外网;
确定模块303,在外网中根据预设的映射关系确定检测结果数据中的缺陷代码数据信息对应的开发人员。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理系统中,检测模块可包括:
调用单元,基于调度系统软件项目配置调度程序,以定时调用代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描检测。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理系统中,代码检测工具用于对内网中预设存储空间中的程序代码进行全量代码扫描,若识别到目标代码段符合预设代码格式,则判定目标代码段不符合预设标准。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理系统,还可以包括:
处理模块,基于Java后台开发框架软件配置数据转换程序,数据转换程序用于将获取的缺陷代码数据信息的数据格式转换成项目管理系统兼容的数据格式,并将格式转换之后的缺陷代码数据信息推送到项目管理系统,以使得项目管理系统向开发人员推送缺陷代码修改任务。
可选的,作为一种可能的实施方式,本发明实施例中的代码质量管理系统,还可以包括:
转码模块,用于将数据库中的代码检测规则进行URL转码以适配代码检测工具中的数据格式;
调用模块,调用代码检测工具的应用程序接口导入经过URL转码之后的代码检测规则。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从模块化功能实体的角度对本发明实施例中的代码质量管理系统进行了描述,请参阅图4,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
该计算机装置1可以包括存储器11、处理器12和输入输出总线13。处理器11执行计算机程序时实现上述图1所示的代码质量管理方法实施例中的步骤,例如图1所示的步骤101至103。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本发明的一些实施例中,处理器具体用于实现如下步骤:
周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据;
采集内网中的检测结果数据,并将检测结果数据推送至外网;
在外网中根据预设的映射关系确定检测结果数据中的缺陷代码数据信息对应的开发人员。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
基于调度系统软件项目配置调度程序,以定时调用代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描检测。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
对内网中预设存储空间中的程序代码进行全量代码扫描,若识别到目标代码段符合预设代码格式,则判定目标代码段不符合预设标准。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
基于Java后台开发框架软件配置数据转换程序,数据转换程序用于将获取的缺陷代码数据信息的数据格式转换成项目管理系统兼容的数据格式,并将格式转换之后的缺陷代码数据信息推送到项目管理系统,以使得项目管理系统向开发人员推送缺陷代码修改任务。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
将数据库中的代码检测规则进行URL转码以适配代码检测工具中的数据格式;
调用代码检测工具的应用程序接口导入经过URL转码之后的代码检测规则。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是计算机装置1的内部存储单元,例如该计算机装置1的硬盘。存储器11在另一些实施例中也可以是计算机装置1的外部存储设备,例如计算机装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括计算机装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于计算机装置1的应用软件及各类数据,例如计算机程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行计算机程序01等。
该输入输出总线13可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
进一步地,计算机装置还可以包括有线或无线网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-14以及计算机程序01的计算机装置1,本领域技术人员可以理解的是,图4示出的结构并不构成对计算机装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据;
采集内网中的检测结果数据,并将检测结果数据推送至外网;
在外网中根据预设的映射关系确定检测结果数据中的缺陷代码数据信息对应的开发人员。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
基于调度系统软件项目配置调度程序,以定时调用代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描检测。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
对内网中预设存储空间中的程序代码进行全量代码扫描,若识别到目标代码段符合预设代码格式,则判定目标代码段不符合预设标准。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
基于Java后台开发框架软件配置数据转换程序,数据转换程序用于将获取的缺陷代码数据信息的数据格式转换成项目管理系统兼容的数据格式,并将格式转换之后的缺陷代码数据信息推送到项目管理系统,以使得项目管理系统向开发人员推送缺陷代码修改任务。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
将数据库中的代码检测规则进行URL转码以适配代码检测工具中的数据格式;
调用代码检测工具的应用程序接口导入经过URL转码之后的代码检测规则。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种代码质量管理方法,其特征在于,包括:
周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据;
采集所述内网中的检测结果数据,并将所述检测结果数据推送至外网;
在所述外网中根据预设的映射关系确定所述检测结果数据中的缺陷代码数据信息对应的开发人员。
2.根据权利要求1所述的方法,其特征在于,所述周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,包括:
基于调度系统软件项目配置调度程序,以定时调用代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描检测。
3.根据权利要求2所述的方法,其特征在于,所述对内网中预设存储空间中的程序代码进行全量代码扫描检测,包括:
对内网中预设存储空间中的程序代码进行全量代码扫描,若识别到目标代码段符合预设代码格式,则判定所述目标代码段不符合预设标准。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于Java后台开发框架软件配置数据转换程序,所述数据转换程序用于将获取的缺陷代码数据信息的数据格式转换成项目管理系统兼容的数据格式,并将格式转换之后的缺陷代码数据信息推送到项目管理系统,以使得所述项目管理系统向开发人员推送缺陷代码修改任务。
5.根据权利要求2至4中任一项所述的方法,其特征在于,还包括:
将数据库中的代码检测规则进行URL转码以适配所述代码检测工具中的数据格式;
调用所述代码检测工具的应用程序接口导入经过URL转码之后的代码检测规则。
6.一种代码质量管理系统,其特征在于,包括:
检测模块,用于周期性对内网中预设存储空间中的程序代码进行全量代码扫描检测,并生成检测结果数据;
推送模块,用于采集所述内网中的检测结果数据,并将所述检测结果数据推送至外网;
确定模块,在所述外网中根据预设的映射关系确定所述检测结果数据中的缺陷代码数据信息对应的开发人员。
7.根据权利要求6所述的系统,其特征在于,所述检测模块包括:
调用单元,基于调度系统软件项目配置调度程序,以定时调用代码检测工具对内网中预设存储空间中的程序代码进行全量代码扫描检测。
8.根据权利要求5至7中任一项所述的系统,其特征在于,还包括:
转码模块,用于将数据库中的代码检测规则进行URL转码以适配所述代码检测工具中的数据格式;
调用模块,调用所述代码检测工具的应用程序接口导入经过URL转码之后的代码检测规则。
9.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011137901.7A CN112256575A (zh) | 2020-10-22 | 2020-10-22 | 一种代码质量管理方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011137901.7A CN112256575A (zh) | 2020-10-22 | 2020-10-22 | 一种代码质量管理方法、系统及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256575A true CN112256575A (zh) | 2021-01-22 |
Family
ID=74264678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011137901.7A Pending CN112256575A (zh) | 2020-10-22 | 2020-10-22 | 一种代码质量管理方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256575A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190805A (zh) * | 2021-05-31 | 2021-07-30 | 世纪龙信息网络有限责任公司 | 一种代码资产管理系统 |
CN113791818A (zh) * | 2021-09-15 | 2021-12-14 | 上海浦东发展银行股份有限公司 | 一种基于度量平台的代码改进方法、装置、介质及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013174200A1 (zh) * | 2012-05-24 | 2013-11-28 | 腾讯科技(深圳)有限公司 | 代码分析方法及代码分析系统、计算机存储介质 |
CN105320591A (zh) * | 2014-07-25 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 代码检测方法及装置 |
CN106776270A (zh) * | 2016-11-11 | 2017-05-31 | 努比亚技术有限公司 | 一种代码检测方法、装置及终端 |
CN109359028A (zh) * | 2018-08-22 | 2019-02-19 | 平安科技(深圳)有限公司 | 代码质量监控方法、装置、计算机设备及存储介质 |
US20190294526A1 (en) * | 2018-03-22 | 2019-09-26 | Veracode, Inc. | Code difference flaw scanner |
US20200097390A1 (en) * | 2018-09-21 | 2020-03-26 | Pivotal Software, Inc. | Platform-integrated ide |
-
2020
- 2020-10-22 CN CN202011137901.7A patent/CN112256575A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013174200A1 (zh) * | 2012-05-24 | 2013-11-28 | 腾讯科技(深圳)有限公司 | 代码分析方法及代码分析系统、计算机存储介质 |
CN105320591A (zh) * | 2014-07-25 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 代码检测方法及装置 |
CN106776270A (zh) * | 2016-11-11 | 2017-05-31 | 努比亚技术有限公司 | 一种代码检测方法、装置及终端 |
US20190294526A1 (en) * | 2018-03-22 | 2019-09-26 | Veracode, Inc. | Code difference flaw scanner |
CN109359028A (zh) * | 2018-08-22 | 2019-02-19 | 平安科技(深圳)有限公司 | 代码质量监控方法、装置、计算机设备及存储介质 |
US20200097390A1 (en) * | 2018-09-21 | 2020-03-26 | Pivotal Software, Inc. | Platform-integrated ide |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190805A (zh) * | 2021-05-31 | 2021-07-30 | 世纪龙信息网络有限责任公司 | 一种代码资产管理系统 |
CN113791818A (zh) * | 2021-09-15 | 2021-12-14 | 上海浦东发展银行股份有限公司 | 一种基于度量平台的代码改进方法、装置、介质及设备 |
CN113791818B (zh) * | 2021-09-15 | 2024-04-30 | 上海浦东发展银行股份有限公司 | 一种基于度量平台的代码改进方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8612372B2 (en) | Detection rule-generating facility | |
US8943423B2 (en) | User interface indicators for changed user interface elements | |
EP3623948B1 (en) | Method and system for code analysis to identify causes of code smells | |
US20140157239A1 (en) | System and method for peer-based code quality analysis reporting | |
CN111797157B (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
WO2014120192A1 (en) | Error developer association | |
CN109656917A (zh) | 多数据源的数据检测方法、装置、设备及可读存储介质 | |
CN112256575A (zh) | 一种代码质量管理方法、系统及相关设备 | |
CN110908915B (zh) | 一种测试覆盖率的展示方法、装置及计算机系统 | |
CN111459495A (zh) | 单元测试代码文件生成方法、电子装置及存储介质 | |
US6745348B2 (en) | Method for estimating number of internationalization faults in software code | |
CN111773728A (zh) | 数据表测试方法、装置、设备及存储介质 | |
CN115269444A (zh) | 代码静态检测方法、装置及服务器 | |
CN115640578A (zh) | 应用程序的漏洞可达性分析方法、装置、设备及介质 | |
CN108427580A (zh) | 配置对命名重复的检测方法、存储介质和智能设备 | |
CN113342692B (zh) | 测试用例自动生成方法、装置、电子设备及存储介质 | |
CN114500334B (zh) | 服务端应用架构的诊断方法及装置 | |
CN108885574B (zh) | 用于监视和报告设计、编译和运行时的性能和正确性问题的系统 | |
CN109358564B (zh) | 一种检测组态软件的方法及装置、计算机可读存储介质 | |
CN111666216B (zh) | 一种智能合约分析方法及装置 | |
CN112003837B (zh) | 基于Modbus协议的设备智能适配方法、装置及存储介质 | |
CN113868137A (zh) | 埋点数据的处理方法、装置、系统和服务器 | |
CN107449385A (zh) | 一种零件位号的间距检测方法及装置 | |
CN114116488A (zh) | 测试覆盖率信息获取方法、装置、设备及存储介质 | |
CN118445214B (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 |