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 相关文章推荐
分享一些Java的常用工具
Jun 11 Java/Android
MybatisPlus代码生成器的使用方法详解
Jun 13 Java/Android
Spring Boot 启动、停止、重启、状态脚本
Jun 26 Java/Android
java基础——多线程
Jul 03 Java/Android
小程序与后端Java接口交互实现HelloWorld入门
Jul 09 Java/Android
idea以任意顺序debug多线程程序的具体用法
Aug 30 Java/Android
java多态注意项小结
Oct 16 Java/Android
利用Sharding-Jdbc进行分库分表的操作代码
Jan 22 Java/Android
Java并发编程之原子性-Atomic的使用
Mar 16 Java/Android
Android Rxjava3 使用场景详解
Apr 07 Java/Android
零基础学java之带参数以及返回值的方法
Apr 10 Java/Android
SpringBoot 集成短信和邮件 以阿里云短信服务为例
Apr 22 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
基于jquery的Repeater实现代码
2010/07/17 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
Angular实现购物车计算示例代码
2017/02/21 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
浅谈React中的元素、组件、实例和节点
2018/02/27 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
laypage.js分页插件使用方法详解
2019/07/27 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
Javascript模块化机制实现原理详解
2020/04/02 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
Python中的ceil()方法使用教程
2015/05/14 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
基于Python log 的正确打开方式
2018/04/28 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
ECOSUSI官网:女式皮革背包
2019/09/27 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
Linux如何压缩可执行文件
2013/10/21 面试题
酒店管理毕业生自我鉴定
2014/03/02 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
趣味运动会标语口号
2015/12/26 职场文书
图神经网络GNN算法
2022/05/11 Python
移除Selenium中window.navigator.webdriver值
2022/06/10 Python