代码写的垃圾被嫌弃?这 3 个插件你值得拥有…

简介: 今天推荐三个插件,它们都是代码质量检测的神器。可以扫描检测出你项目中不符合规范的代码,他们分别是 SonarLint、SonarQube、Alibaba代码规约插件。

今天推荐三个插件,它们都是代码质量检测的神器。可以扫描检测出你项目中不符合规范的代码,他们分别是 SonarLint、SonarQube、Alibaba代码规约插件。


1. SonarLint

SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道。


image.png


下载与安装


image.png


在需要检测的单个文件或者单个项目上右键 -> Analyze -> Analyze with SonarLint


或者选中文件或目录,点击菜单栏 Analyze -> Analyze with SonarLint


image.png


我们还可以禁用某些规则


image.png


如果需要同步自定义的规则时,可以绑定到 SonarQube


image.png


image.png


image.png


查看检测的结果


image.png


对于代码中的警告我们不能视而不见


image.png


有了代码质量检测工具以后,在一定程度上可以保证代码的质量,对于每一个问题,SonarLint 都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发。


比如,对于日期类型尽量用 LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题。


有了代码规范与质量检测工具以后,很多东西就可以量化了,比如bug率、代码重复率等,还可以自定义各种指标,方便管理人员查看。


为此,我们需要一个平台来记录每次检测分析的结果,这样就可以进行分析和统计,并且可以直观的看到这一切


于是,SonarQube 闪亮登场!


2. SonarQube

SonarQube 是一个开源的代码质量管理平台


image.png


image.png


image.png


image.png


解压&本地启动


具体开始参考文档:


https://docs.sonarqube.org/latest/setup/get-started-2-minutes/


下载下来这个工具,进行解压执行:

unzip sonarqube-7.7.zip
cd sonarqube-7.7
bin/[OS]/sonar.sh consol

image.png


启动成功后,访问 http://localhost:9000 用管理员账号(admin/admin)登录


image.png


接下来,为了把检测的结果传到服务器,我们需要配置一个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


成功后,可以在控制台中看到这样的输出:


image.png


再次刷新 http://localhost:9000/ 会看到跟刚才不一样了


image.png

image.png


image.png


以上只是本地演示,在正式环境中这些数据当然要保存到数据库中,具体安装就不演示了,下面是文档:


https://docs.sonarqube.org/latest/setup/install-server/


3. Alibaba代码规约插件

阿里代码规范,相信大家都不陌生。


这是代码规约插件安装方式:


image.png


安装了此插件,就可以进行扫描,检测出你写的 "坏"代码。


image.png


看看效果:

image.png


image.png

相关文章
|
3月前
|
人工智能 Java 数据库连接
IDEA开发 常用代码规范插件 常用辅助类插件
IDEA开发 常用代码规范插件 常用辅助类插件
89 0
|
缓存 前端开发 JavaScript
浅浅阅读umi中InitialState插件源码 - 杨磊
InitialState插件源码的简要介绍
1047 0
浅浅阅读umi中InitialState插件源码 - 杨磊
|
JavaScript 前端开发 开发工具
简简单单一个vite⚡⚡插件搞定用户的另类需求——自给自足的感觉真好
简简单单一个vite⚡⚡插件搞定用户的另类需求——自给自足的感觉真好
|
人工智能 Go
神级插件Bito介绍及使用
神级插件Bito介绍及使用
|
JavaScript 前端开发 程序员
推荐三个神级VSCode插件[jupyter中写javascript,替代typora的markdown编辑器,记录敲代码时间的插件]
使用过Python的朋友应该都知道Jupyter-Notebook,因为它对新手朋友学习Python可谓是绝佳的工具,对Python老手来说使用它来写一些小Demo或者绘图分析都是非常不错的工具,我们都知道,最近,我开始了深入学习JavaScript的路途,偶尔为敲一下js来验证书中的说法以及自己的想法,同时可能会记一下笔记,然后可能还需要刷Leetcode
783 0
|
Web App开发 存储 人工智能
用了这些vscode插件前端同学再也不996了
用了这些vscode插件前端同学再也不996了
506 0
用了这些vscode插件前端同学再也不996了
|
缓存 前端开发 JavaScript
浅浅阅读umi中InitialState插件源码
InitialState插件源码的简要介绍
685 1
浅浅阅读umi中InitialState插件源码
|
Android开发 索引 Python
|
Web App开发 JSON JavaScript
仅20+行核心代码的Chrome插件,这不是有手就行吗?(上)
大家好,我是零一,不知道你们有没有开发过Chrome插件,但你们一定用得很多。其实Chrome插件的开发一点都不麻烦,基本就是有手就行,一个功能极简的插件核心代码也就不过30行左右。那你还怕不会插件的开发吗? 本文将手把手(真 · 手把手)介绍Chrome插件的开发,并末尾附带一个插件实战教学
411 0
仅20+行核心代码的Chrome插件,这不是有手就行吗?(上)