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 22 Java/Android
分析设计模式之模板方法Java实现
Jun 23 Java/Android
eclipse创建项目没有dynamic web的解决方法
Jun 24 Java/Android
Spring Boot 启动、停止、重启、状态脚本
Jun 26 Java/Android
spring boot项目application.properties文件存放及使用介绍
Jun 30 Java/Android
JVM钩子函数的使用场景详解
Aug 23 Java/Android
SpringDataJPA实体类关系映射配置方式
Dec 06 Java/Android
InterProcessMutex实现zookeeper分布式锁原理
Mar 21 Java/Android
SpringCloud Function SpEL注入漏洞分析及环境搭建
Apr 08 Java/Android
Java Spring Boot 正确读取配置文件中的属性的值
Apr 20 Java/Android
Android Studio实现带三角函数对数运算功能的高级计算器
May 20 Java/Android
Spring Security动态权限的实现方法详解
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判断表单复选框选中状态完整例子
2014/06/24 PHP
php批量删除操作代码分享
2017/02/26 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
在Python中关于中文编码问题的处理建议
2015/04/08 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
英国复古服装购物网站:Collectif
2019/10/30 全球购物
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
银行会计业务的个人自我评价
2013/11/02 职场文书
酒店执行总经理岗位职责
2013/12/15 职场文书
大学毕业生个人自荐信范文
2014/01/08 职场文书
上课打牌的检讨书
2014/02/15 职场文书
运动会入场词50字
2014/02/20 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
法学自荐信
2014/06/20 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
班主任远程培训研修日志
2015/11/13 职场文书