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 相关文章推荐
Win10系统下配置Java环境变量
Jun 13 Java/Android
MybatisPlus代码生成器的使用方法详解
Jun 13 Java/Android
一篇带你入门Java垃圾回收器
Jun 16 Java/Android
浅谈resultMap的用法及关联结果集映射
Jun 30 Java/Android
Java日常练习题,每天进步一点点(38)
Jul 26 Java/Android
详解JAVA的控制语句
Nov 11 Java/Android
springboot 自定义配置 解决Boolean属性不生效
Mar 18 Java/Android
多线程Spring通过@Scheduled实现定时任务
May 25 Java/Android
Java时间工具类Date的常用处理方法
May 25 Java/Android
springboot 全局异常处理和统一响应对象的处理方式
Jun 28 Java/Android
一文了解Java动态代理的原理及实现
Jul 07 Java/Android
spring 项目实现限流方法示例
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
PHP分页显示制作详细讲解
2006/12/05 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
python正则分析nginx的访问日志
2017/01/17 Python
Python随机函数random()使用方法小结
2018/04/29 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
Python 画出来六维图
2019/07/26 Python
python路径的写法及目录的获取方式
2019/12/26 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
高中生活自我鉴定
2014/01/18 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
《秋游》教学反思
2014/04/24 职场文书
学生干部培训方案
2014/06/12 职场文书
校庆口号
2014/06/20 职场文书
公证委托书格式
2014/09/13 职场文书
golang内置函数len的小技巧
2021/07/25 Golang
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers