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 23 Java/Android
springboot项目以jar包运行的操作方法
Jun 30 Java/Android
总结Java对象被序列化的两种方法
Jun 30 Java/Android
Java Socket实现多人聊天系统
Jul 15 Java/Android
java泛型通配符详解
Jul 25 Java/Android
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
Jul 26 Java/Android
logback 实现给变量指定默认值
Aug 30 Java/Android
SpringDataJPA实体类关系映射配置方式
Dec 06 Java/Android
Java如何实现通过键盘输入一个数组
Feb 15 Java/Android
springboot 自定义配置 解决Boolean属性不生效
Mar 18 Java/Android
Android自定义scrollview实现回弹效果
Apr 01 Java/Android
Springboot中如何自动转JSON输出
Jun 16 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权限分配的实现代码
2013/04/28 PHP
探讨:如何使用PhpDocumentor生成文档
2013/06/25 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
PHP goto语句用法实例
2019/08/06 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
详解Golang 与python中的字符串反转
2017/07/21 Python
python发送邮件实例分享
2017/07/28 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
python实现桌面壁纸切换功能
2019/01/21 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
python判断是空的实例分享
2020/07/06 Python
Python3获取cookie常用三种方案
2020/10/05 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
教师自荐信
2013/12/10 职场文书
如何写你的创业计划书
2014/01/07 职场文书
初中英语教学反思
2014/01/25 职场文书
文体活动总结范文
2014/05/05 职场文书
社区志愿者活动方案
2014/08/18 职场文书
科学发展观活动总结
2014/08/28 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
单位租车协议书
2015/01/29 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL