这样Review代码牛逼啦!
一个对项目负责的团队代码质量检查是必不可少的,有条件的团队经常有代码review习惯,这样可以使技术团队共同进步,但是一个庞大的工程做代码review其实是很麻烦的,所以就催生了很多的工具,今天我们就来通过工具来对代码进行扫描,通过发现问题并改进问题,使我们的项目代码更简洁,修复隐藏bug。
什么是Sonarqube
Sonarqube 是一个用于代码质量管理的开放平台。通过插件机制,Sonarqube 可以集成不同的测试工具,代码分析工具,以及持续集成工具。
在对其他工具的支持方面,Sonarqube 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonarqube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
简单来说,Sonarqube就是一个代码质量检测工具,可以通过搭建服务端和使用客户端来对代码进行检测,我们今天就来上手试试吧。
搭建Sonarqube服务器
因为小编环境是mac,还是选择使用docker来搭建服务器环境把。
首先查找镜像
docker search sonarqube
然后pull镜像
docker pull sonarqube
如果使用传统的搭建还得创建sonarqube需要的对应数据库的脚本再进行关联,但是使用镜像的话这些都内嵌了。
好了开始通过镜像启动容器吧。
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube
镜像启动后就可以访问服务页面了。
点击左侧的Log in登录,默认的登录用户名密码都是admin
这样子服务端就安装好了
客户端使用
第一种姿势 纯idea插件查看
因为目前国内大部分程序员都转向Idea了,所以我们使用Idea来作为客户端进行项目代码检测。
首先就是插件的安装。如图所示,小白都看的懂,安装插件SonarLint
并重启IDE
重启之后就要配置客户端连接的服务器了,服务器地址和账号密码填写我们之前本地搭建的信息
点击Next的时候会需要创建Token
点击Create Token
跳转到我们生成Token的网页,这里我们输入admin创建Token
复制生成的Token到idea里面,填写好即可
验证和使用
接下来就是验证使用了。我们在项目代码目录上右键
会有SonarLint这个选项,点击第一个
可以看到代码检测愉快的跑起来了。
扫描结束以后,可以看到,很多不规范的代码都被扫出来了。
随便点开一个,比如说这个空方法
并且右侧给出了对应的修复示例参考
但不懂英文?没关系啊 ,姿势可不只有这一种!!!
第二种姿势
那么这次我们使用管理台+maven来看如何牛逼的使用它,
登录管理台,点击Markerplace模块,安装中文包
安装完成重启服务
再次登录,熟悉的中文是不是回来了呀!
然后在项目里面加入以下maven依赖
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.7.0.1746</version>
</plugin>
展开项目的Maven选项,双击运行,执行完毕后就可以登录管理台查看了。
打开管理台,你会发现产生了一个和你项目名一样的项目,并且各种代码质量指标都标注的清清楚楚!!
我们点进去,点开bug选项随便一处,查看Bug
果然扫出来了一处可能出现bug的代码,假设Get这个枚举对象为null的话,下面的对象getId()方法肯定会出现空指针了。
我们再导入一个一个项目,写几个不规范的代码,看看能不能扫出来。
果然是扫到了有异味的代码。。。 比如方法不规范拉,代码里输出日志不规范 了~
这里就不继续陪大家看bug和异味的代码了呀~
检测出了代码规范问题和bug漏洞咋办,改呗~
改完以后就可以早点下班了~~
各位老铁有空可以去尝试玩一玩啊,据说经常做代码review的程序员下班都比普通程序员要早。
结尾
写到结尾了,顺便提一句,有人说为什么不用类似阿里巴巴规约扫描插件,其实在项目开发中也有在用,但是确实只能测试出来一部分阿里定义出来的代码不规范问题,像漏洞和bug和这个就更不能比了,所以千万别有杠精来跟我较劲比较了,我只能说,都用吧!!
写到这里了,点赞转发三连有么,为了你能早点下班~