网站首页 > 教程文章 正文
推荐三个插件,它们都是代码质量检测的神器。可以扫描检测出你项目中不符合规范的代码,他们分别是 SonarLint、SonarQube、Alibaba 代码规约插件。
1. SonarLint
SonarLint 是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道。
下载与安装
在需要检测的单个文件或者单个项目上右键 -> Analyze -> Analyze with SonarLint
或者选中文件或目录,点击菜单栏 Analyze -> Analyze with SonarLint
我们还可以禁用某些规则
另外,如果你近期准备面试跳槽,建议在Java面试库小程序在线刷题,涵盖 2000+ 道 Java 面试题,几乎覆盖了所有主流技术面试题。
如果需要同步自定义的规则时,可以绑定到 SonarQube
img
img
img
查看检测的结果
对于代码中的警告我们不能视而不见
有了代码质量检测工具以后,在一定程度上可以保证代码的质量,对于每一个问题,SonarLint 都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发。
比如,对于日期类型尽量用 LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题。
有了代码规范与质量检测工具以后,很多东西就可以量化了,比如bug率、代码重复率等,还可以自定义各种指标,方便管理人员查看。
为此,我们需要一个平台来记录每次检测分析的结果,这样就可以进行分析和统计,并且可以直观的看到这一切
于是,SonarQube 闪亮登场!
2. SonarQube
SonarQube 是一个开源的代码质量管理平台
img
img
img
img
解压&本地启动
具体开始参考文档:
https://docs.sonarqube.org/latest/setup/get-started-2-minutes/
下载下来这个工具,进行解压执行:
unzip sonarqube-7.7.zip
cd sonarqube-7.7
bin/[OS]/sonar.sh consol
启动成功后,访问 http://localhost:9000 用管理员账号(admin/admin)登录
img
接下来,为了把检测的结果传到服务器,我们需要配置一个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
成功后,可以在控制台中看到这样的输出:
再次刷新 http://localhost:9000/ 会看到跟刚才不一样了
img
img
img
以上只是本地演示,在正式环境中这些数据当然要保存到数据库中,具体安装就不演示了,下面是文档:
https://docs.sonarqube.org/latest/setup/install-server/
3. Alibaba代码规约插件
阿里代码规范,相信大家都不陌生。IDEA 中安装这个插件即可。
这是代码规约插件安装方式:
安装了此插件,就可以进行扫描,检测出你写的 "坏"代码。
- 上一篇: 细思极恐:你真的会写Java吗?
- 下一篇: 迄今为止最完整的DDD实践
猜你喜欢
- 2024-12-12 人人都是程序员?百度、阿里同天向个人免费开放AI编码助手
- 2024-12-12 if-else嵌套太深?教你一个新手都能掌握的设计模式搞定!
- 2024-12-12 靠左神这套程序员代码面试指南入职阿里、腾讯、美团、百度不再难
- 2024-12-12 前端开发有哪些编码规范?
- 2024-12-12 阿里低代码框架 lowcode-engine 低代码表单实战
- 2024-12-12 阿里P9整理10w字内部并发编程手册,GitHub百万下载量
- 2024-12-12 阿里通义千问代码模型Qwen2.5-Coder全系列正式开源
- 2024-12-12 我入职阿里后,才知道原来简历这么写
- 2024-12-12 最全阿里P系列解读:P5—P8的技能要求和薪资结构
- 2024-12-12 阿里巴巴Java开发规范(4):日志规约
- 06-18CentOS7安装Mongodb 4.x.x(centos7安装openstack)
- 06-18Window环境配置Mongodb(mongodb默认配置文件路径)
- 06-18FineReport如何连接和使用MongoDB数据库
- 06-18nosql之mongodb(nosql怎么读正确发音)
- 06-18Mongodb centos7安装(mongodb4.4.2安装教程)
- 06-18群晖(Synology)NAS 安装 MongoDB(群晖安装nat123)
- 06-18MongoDB 安装及实践(mongodb的安装过程和操作命令)
- 06-18MongoDB最全详解(万字图文总结)(mongodb lsm)
- 最近发表
-
- CentOS7安装Mongodb 4.x.x(centos7安装openstack)
- Window环境配置Mongodb(mongodb默认配置文件路径)
- FineReport如何连接和使用MongoDB数据库
- nosql之mongodb(nosql怎么读正确发音)
- Mongodb centos7安装(mongodb4.4.2安装教程)
- 群晖(Synology)NAS 安装 MongoDB(群晖安装nat123)
- MongoDB 安装及实践(mongodb的安装过程和操作命令)
- MongoDB最全详解(万字图文总结)(mongodb lsm)
- CentOS安装MongoDB教程(centos安装mpich)
- MongoDB入门指南:下载、安装和配置一款强大的NoSQL数据库
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)