Sonar代码质量管理

Sonar 为代码的质量管理提供了一个平台,对传统的代码静态检测如 PMD、FindBugs 等工具进行整合,是目前最强大的代码质量管理工具之一。

 

  • 代码层面影响的质量和效率

代码内在质量的七个维度

编码规范:是否遵守了编码规范,遵循了最佳实践

潜在的BUG:可能在最坏情况下出现问题的代码,以及存在安全漏洞的代码

文档和注释:过少(缺少必要信息)、过多(没有信息量)、过时的文档和注释

重复代码:违反Don‘t repeat Yourself原则

复杂度:代码结构太复杂、难以理解、测试和维护

测试覆盖率:编写单元测试,特别是针对复杂代码的测试覆盖是否足够

设计与架构:是否高内聚、低耦合、依赖最少

 

大部分的缺陷都是在编码阶段引入的,在测试阶段才能够发现这些缺陷,缺陷发现的越晚,缺陷的修复成本越高

  • 静态代码扫描原理和扫描工具

什么是静态代码扫描

静态扫描是指在不运行代码的方式下,通过词法分析、语法分析、抽象语法分析等技术对程序代码进行扫描,

验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术

 

静态代码扫描会出现什么样的问题?

如果有两个代码段都大于10行会被认定为重复代码块

1、除了空白和注释之外,两个代码重复10行及以上

2、即时代码段内的标识符、常量值、类型、代码格式、注释不同,两个机构以及语法相同的代码重复10行及以上

3、复制的代码段进行进一步的修改,例如修改、添加或者删除语句,修改后有大于或等于10行的重复

4、两个大于等于10行的代码段执行相同的计算,但通过不同的语法变体实现

 

  1. 常见的静态代码分析工具

 

 

 

 SonarQube

SonarQube 是一款用于代码质量管理的平台,它主要用于管理源代码的质量。 通过插件形式,可以支持很多代 码语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar还可以通过 PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息。

 

 

 

 

 

 

posted @ 2021-11-17 15:28  虾米521  阅读(191)  评论(0编辑  收藏  举报