【技术实现步骤摘要】
代码质量评价方法及系统
本申请涉及信息处理
,具体而言,本申请涉及一种代码质量评价方法及系统。
技术介绍
代码是按照一定的程序设计语言规范编写的、由字符、符号等组成的文本。一个程序项目往往由大量的代码构成,尤其是随着程序项目开发的大型化、复杂化,相应程序项目的代码的编写通常是由多个程序开发人员共同协作完成的,使得影响代码质量的因素更多,如不同程序开发人员编写的代码的功能的衔接问题、编写风格的统一问题等。如何对编写的代码的质量进行评价成为了一个问题。目前,对代码的质量评价是通过人工的方式进行的,即由相关评价人员对相应的代码进行逐行阅读,确定并标记相应影响代码质量评价的因素,然后,对标记的影响代码质量评价因素进行统计分析,得到相应代码的质量评价结果。然而,根据现有的通过人工确定代码的质量评价结果信息的方式需要耗费较高的人力成本和时间成本,导致相应代码的质量评价的效率极低。此外,通常情况下项目程序包含大量的代码,需要多个相关人员才能完成代码质量的评价。因此,现有的通过人工确定代码的质量评价结果信息的方式,存在效率低、 ...
【技术保护点】
1.一种代码质量评价方法,其特征在于,该方法应用于代码质量评价系统,所述代码质量评价系统包括红线扫描模块、重复率检测模块及复杂度检测模块;该方法包括:/n通过所述红线扫描模块对待评价代码进行漏洞检测,得到所述待评价代码的漏洞检测信息;/n通过所述重复率检测模块对所述待评价代码进行重复率检测,得到所述待评价代码的重复率检测信息;/n通过所述复杂度检测模块对所述待评价代码进行复杂度检测,得到所述待评价代码的复杂度检测信息;/n通过质量评价模块,基于根据所述红线扫描模块得到的所述漏洞检测信息、根据所述重复率检测模块得到的所述重复率检测信息以及根据所述复杂度检测模块得到所述复杂度检 ...
【技术特征摘要】
1.一种代码质量评价方法,其特征在于,该方法应用于代码质量评价系统,所述代码质量评价系统包括红线扫描模块、重复率检测模块及复杂度检测模块;该方法包括:
通过所述红线扫描模块对待评价代码进行漏洞检测,得到所述待评价代码的漏洞检测信息;
通过所述重复率检测模块对所述待评价代码进行重复率检测,得到所述待评价代码的重复率检测信息;
通过所述复杂度检测模块对所述待评价代码进行复杂度检测,得到所述待评价代码的复杂度检测信息;
通过质量评价模块,基于根据所述红线扫描模块得到的所述漏洞检测信息、根据所述重复率检测模块得到的所述重复率检测信息以及根据所述复杂度检测模块得到所述复杂度检测信息,确定所述待评价代码的评价结果信息。
2.根据权利要求1所述的方法,其特征在于,所述通过所述重复率检测模块对所述待评价代码进行重复率检测,得到所述待评价代码的重复率检测信息,包括:
基于相应的相似度判定算法确定所述待评价代码中重复使用代码的行数;
基于所述待评价代码中重复使用代码的行数与所述待评价代码的代码总行数确定所述待评价代码的代码重复率检测信息。
3.根据权利要求1所述的方法,其特征在于,所述通过所述复杂度检测模块对所述待评价代码进行复杂度检测,得到所述待评价代码的复杂度检测信息,包括:
确定所述待评价代码对应的各个代码文件的函数复杂度;
基于确定的各个代码文件的函数复杂度确定所述待评价代码的代码复杂度;
基于所述待评价代码的代码复杂度确定所述待评价代码的代码复杂度检测信息。
4.根据权利要求1所述的方法,其特征在于,所述通过质量评价模块,基于根据所述红线扫描模块得到的所述漏洞检测信息、根据所述重复率检测模块得到的所述重复率检测信息以及根据所述复杂度检测模块得到所述复杂度检测信息,确定所述待评价代码的评价结果信息,包括:
基于所述漏洞检测信息、所述重复率检测信息及所述复杂度检测信息分别对应的预定的权重值进行加权计算,得到所述待评价代码的评价结果信息。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
根据通过所述红线扫描模块得到的所述漏洞检测信息确定所述待评价代码的处理流程信息。
6...
【专利技术属性】
技术研发人员:黄威,张杰,李雪,张娜,蔡学文,王晓敏,
申请(专利权)人:北京奇虎科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。