代码质量难以管控?代码质量控制神器Sonarqube了解一下?
大家好,我是王老师,最近被隔离,项目赶工事情比较多,鸽了比较久。最近也准备在数据治理和数据中台技术上面出一个专栏,将我们整个数据中台搭建的心得以及遇到的问题分享给大家,同时避免大家踩坑。今天给大家介绍一款代码质量控制神器sonarqube。其实像代码扫描工具有很多如P3C,Checkmarx,但是这款给我的感觉就是,简单,易用,并且可视化效果很好。很适合做全局的代码质量控制。废话不多少,我们开始进入正题
一、Sonarqube简介
SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,P3C,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息。
Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
Sonarqube主要核心功能如下:
1、代码漏斗异味bug检测
2、代码质量大盘
3、自定义质量阀
4、团队项目质量隔离
二、Sonarqube配置流程
sonarqube安装非常简单,就不在多说了。
如果我们搭建好了Sonarqube的服务器,那么我们只需简单几步可以集成扫描插件
1、setting文件修改
在本地Maven仓库里修改Setting文件,将下列代码加入文件中。其中<sonar.host.url>为Sonarqube服务安装地址。
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>
<http://ip:9000>
</sonar.host.url>
</properties>
</profile>
在项目文件pom.xml文件中新增如下插件,这样就可通过maven插件的方式进行执行
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.7.0.1746</version>
</plugin>
3、插件执行
pom文件中maven插件新增好之后,插件一栏就会多个Sonar,选择sonar:sonar进行执行
4、代码扫描过程
5、查看扫描报告
之后通过sonarqube web端看到所有的代码扫描信息。点击之后可以看到具体代码xiangqing
6、点击项目可以看到具体的项目信息
7、点击bug等可以查看具体问题代码行
这样我们就可以看到我们代码中存在的一些漏洞和异味了。可以快乐的去消除bug了
三、Sonarqube与IDEA集成
搭建了Sonar 服务来管理分析代码,主要用于项目整体分析。我们还可以安装IDEA的插件,可以在代码提交之前就发现问题。配置流程如下:
1、在IDEA菜单栏选择File->Settings,左边栏选择Plugins,在线安装选择Browse repositories,搜索Sonar,选择SonarLint进行安装,之后重启IDEA即可
2、打开一个文件,开始编码,就会看到SonarLint给我们的提示:
3、SonarLint安装完后,默认情况下是自动检测项目代码的。若觉得影响效率,可通过菜单Settings->Other Settings->SonarLint General Settings进行设置
4、配置关联sonar服务
- 全局设置
Settings->Other Settings->SonarLint General Settings
添加sonar服务http://IP:9000/
- 项目设置
Settings->Other Settings->SonarLint Project Settings
选择刚才配置的sonar服务,关联到本项目。
关联sonar服务之后就会共享服务器上的代码规则。在idea下面一栏找到sonarLint,可以分析单个文件,也可单独分析未提交的代码。
这样我们在写代码过程中就可以注意到有哪些代码问题,随时进行修改。养成良好的代码变成习惯。