java lint_Java代码规范与质量检测插件SonarLint

1.  SonarLint

SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道

339f320c5da6bbc5877f06d4168c92f7.png

下载与安装

9c06e88b302bcba7d1e518389714c7df.png

在需要检测的单个文件或者单个项目上右键 --> Analyze --> Analyze with SonarLint

或者选中文件或目录,点击菜单栏 Analyze --> Analyze with SonarLint

e3fa768c64881b2c8e25e7a357cb0b17.png

我们还可以禁用某些规则

e5618ea86e43325b83cb62a270815ba8.png

如果需要同步自定义的规则时,可以绑定到SonarQube

2fa105304de64070941759d53d9bcea6.png

82b5604b68898e9e66384e19ad089851.png

65e93aeb3348408966dd37ef45a877af.png

查看检测的结果

9213e23a12499bc12d9eda33b7b3cd6b.png

对于代码中的警告我们不能视而不见

1869c7a59e6a8fa56daea51bb3a6abfb.png

有了代码质量检测工具以后,在一定程度上可以保证代码的质量

对于每一个问题,SonarLint都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发

比如,对于日期类型尽量用LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题

有了代码规范与质量检测工具以后,很多东西就可以量化了,比如bug率、代码重复率等,还可以自定义各种指标,方便管理人员查看

为此,我们需要一个平台来记录每次检测分析的结果,这样就可以进行分析和统计,并且可以直观的看到这一切

于是,SonarQube 闪亮登场!

2.  SonarQube

SonarQube是一个开源的代码质量管理平台

98fba7faa74ae4c61ccf4642a0931a07.png

177d81c81787967fed0b805d95a37b45.png

3faf5161d467a8692927f61aa365ebae.png

722ac18d3b818e909d87f2ee7e0e14f3.png

解压&本地启动

unzip sonarqube-7.7.zipcd sonarqube-7.7bin/[OS]/sonar.sh consol

78b8068c15eba1eea5ba279412479c7c.png

启动成功后,访问 http://localhost:9000  用管理员账号(admin/admin)登录

d9a797c74cb3bb2a37209d13c4aebf1d.png

接下来,为了把检测的结果传到服务器,我们需要配置一个Scanner

这里我在项目中添加 sonar-maven-plugin 插件

org.sonarsource.scanner.maven

sonar-maven-plugin

3.6.0.1398

命令行执行: mvn clean compile sonar:sonar

成功后,可以在控制台中看到这样的输出

30d4b591cf680ec820e66950d17f28be.png

再次刷新 http://localhost:9000/ 会看到跟刚才不一样了

1b503b73db8ad0c60589568795a354db.png

6bdf07953fef1309a20163b8c686d7fe.png

54984906d2acd5bf9f36787a4a90cc11.png

以上只是本地演示,在正式环境中这些数据当然要保存到数据库中,具体安装就不演示了,下面是文档

3.  Alibaba代码规约插件

阿里代码规范,相信大家都不陌生

3fcc279a0aba6d3994a2d6a456a19091.png

61ae5109fb9cd7e6f971cf9f1b604490.png

f30e2b85d542b46189fdf3774ad05070.png

4.  文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值