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 相关文章推荐
mybatis中sql语句CDATA标签的用法说明
Jun 30 Java/Android
java解析XML详解
Jul 09 Java/Android
SpringDataJPA实体类关系映射配置方式
Dec 06 Java/Android
Spring Boot DevTools 全局配置学习指南
Mar 31 Java/Android
MyBatis配置文件解析与MyBatis实例演示
Apr 07 Java/Android
零基础学java之循环语句的使用
Apr 10 Java/Android
Java后端 Dubbo retries 超时重试机制的解决方案
Apr 14 Java/Android
详解Flutter自定义应用程序内键盘的实现方法
Jun 14 Java/Android
SpringBoot接入钉钉自定义机器人预警通知
Jul 15 Java/Android
向Spring IOC 容器动态注册bean实现方式
Jul 15 Java/Android
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
Aug 05 Java/Android
Java中的Kafka为什么性能这么快及4大核心详析
Sep 23 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开发框架总结收藏
2008/04/24 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
phpmyadmin config.inc.php配置示例
2013/08/27 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
总结python爬虫抓站的实用技巧
2016/08/09 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
简单了解python变量的作用域
2019/07/30 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
中间件分为哪几类
2012/03/14 面试题
咖啡蛋糕店创业计划书
2014/01/28 职场文书
料理师求职信
2014/01/30 职场文书
霸气队列口号
2014/06/18 职场文书
趣味运动会广播稿
2014/09/13 职场文书
何玥事迹观后感
2015/06/16 职场文书
教师理论学习心得体会
2016/01/21 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python
Go web入门Go pongo2模板引擎
2022/05/20 Golang
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS