Java代码规范与质量检测插件SonarLint的使用


Posted in Java/Android onAugust 05, 2022

1.SonarLint

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

Java代码规范与质量检测插件SonarLint的使用

下载与安装

Java代码规范与质量检测插件SonarLint的使用

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

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

Java代码规范与质量检测插件SonarLint的使用

我们还可以禁用某些规则

Java代码规范与质量检测插件SonarLint的使用

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

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

查看检测的结果

Java代码规范与质量检测插件SonarLint的使用

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

Java代码规范与质量检测插件SonarLint的使用

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

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

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

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

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

于是,SonarQube 闪亮登场!

2. SonarQube

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

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

解压&本地启动

https://docs.sonarqube.org/latest/setup/get-started-2-minutes/

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

Java代码规范与质量检测插件SonarLint的使用

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

Java代码规范与质量检测插件SonarLint的使用

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

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven

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

<build>
    <plugins>
        <plugin>
            <groupId>org.sonarsource.scanner.maven</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
            <version>3.6.0.1398</version>
        </plugin>
    </plugins>
</build>

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

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

Java代码规范与质量检测插件SonarLint的使用

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

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

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

https://docs.sonarqube.org/latest/setup/install-server/

3. Alibaba代码规约插件

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

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

Java代码规范与质量检测插件SonarLint的使用

4. 文档

https://www.sonarqube.org/

https://www.sonarsource.com/plans-and-pricing/community/

https://www.sonarlint.org/

https://docs.sonarqube.org/latest/setup/overview/

https://docs.sonarqube.org/latest/

https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven

https://github.com/SonarSource

到此这篇关于Java代码规范与质量检测插件SonarLint的使用的文章就介绍到这了,更多相关Java SonarLint内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
springcloud之Feign超时问题的解决
Jun 24 Java/Android
Java多条件判断场景中规则执行器的设计
Jun 26 Java/Android
Lombok的详细使用及优缺点总结
Jul 15 Java/Android
springboot集成springCloud中gateway时启动报错的解决
Jul 16 Java/Android
SpringBoot整合RabbitMQ的5种模式实战
Aug 02 Java/Android
spring cloud 配置中心客户端启动遇到的问题
Sep 25 Java/Android
springboot 多数据源配置不生效遇到的坑及解决
Nov 17 Java/Android
关于Spring配置文件加载方式变化引发的异常详解
Jan 18 Java/Android
Java实现二分搜索树的示例代码
Mar 17 Java/Android
详解Flutter自定义应用程序内键盘的实现方法
Jun 14 Java/Android
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
Jul 07 Java/Android
MyBatis XPathParser解析器使用范例详解
Jul 15 Java/Android
Spring boot admin 服务监控利器详解
Aug 05 #Java/Android
volatile保证可见性及重排序方法
Aug 05 #Java/Android
app场景下uniapp的扫码记录
Jul 23 #Java/Android
IDEA中sout快捷键无效问题的解决方法
Jul 23 #Java/Android
Spring Boot 的创建和运行示例代码详解
阿里面试Nacos配置中心交互模型是push还是pull原理解析
Jul 23 #Java/Android
java实现web实时消息推送的七种方案
You might like
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
对javascript和select部件的结合运用
2006/10/09 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
jtable列中自定义button示例代码
2013/11/21 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
使用jQuery.wechat构建微信WEB应用
2014/10/09 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
python黑魔法之编码转换
2016/01/25 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
毕业生求职的求职信
2013/12/05 职场文书
后勤主管工作职责
2013/12/07 职场文书
财产公证书
2014/04/10 职场文书
《二泉映月》教学反思
2014/04/15 职场文书
项目申请汇报材料
2014/08/16 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
婚庆主持词大全
2015/06/30 职场文书