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 26 Java/Android
ObjectMapper 如何忽略字段大小写
Jun 29 Java/Android
Java实现学生管理系统(IO版)
Feb 24 Java/Android
springboot 自定义配置 解决Boolean属性不生效
Mar 18 Java/Android
零基础学java之方法的定义与调用详解
Apr 10 Java/Android
Android自定义双向滑动控件
Apr 19 Java/Android
带你了解Java中的ForkJoin
Apr 28 Java/Android
多线程Spring通过@Scheduled实现定时任务
May 25 Java/Android
Android Canvas绘制文字横纵向对齐
Jun 05 Java/Android
Java实现带图形界面的聊天程序
Jun 10 Java/Android
Android RecyclerView实现九宫格效果
Jun 28 Java/Android
Java 中的 Lambda List 转 Map 的多种方法详解
Jul 07 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
PHP如何得到当前页和上一页的地址?
2006/11/27 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
Symfony生成二维码的方法
2016/02/04 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
js中document.write的那点事
2014/12/12 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
python分析nignx访问日志脚本分享
2015/02/26 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
浅谈Python 递归算法指归
2019/08/22 Python
python使用if语句实现一个猜拳游戏详解
2019/08/27 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
《雷鸣电闪波尔卡》教学反思
2014/02/23 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
职务说明书范文
2014/05/07 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
社区节水倡议书
2015/04/29 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书