装上这三款IDEA插件,让你写出高质量代码!

1.  SonarLint

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

图片

下载与安装

图片

在需要检测的单个文件或者单个项目上右键 –> Analyze –> Analyze with SonarLint或者选中文件或目录,点击菜单栏 Analyze –> Analyze with SonarLint

图片

我们还可以禁用某些规则

图片

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

图片

图片

图片

查看检测的结果

图片

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

图片

有了代码质量检测工具以后,在一定程度上可以保证代码的质量对于每一个问题,SonarLint都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发比如,对于日期类型尽量用LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题有了代码规范与质量检测工具以后,很多东西就可以量化了,比如bug率、代码重复率等,还可以自定义各种指标,方便管理人员查看为此,我们需要一个平台来记录每次检测分析的结果,这样就可以进行分析和统计,并且可以直观的看到这一切于是,SonarQube 闪亮登场!

2.  SonarQube

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

图片

图片

图片

图片

解压&本地启动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)登录

图片

接下来,为了把检测的结果传到服务器,我们需要配置一个Scannerhttps://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/ 会看到跟刚才不一样了

图片

图片

图片

以上只是本地演示,在正式环境中这些数据当然要保存到数据库中,具体安装就不演示了,下面是文档https://docs.sonarqube.org/latest/setup/install-server/ 

3.  Alibaba代码规约插件

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

图片

图片

图片

原创文章,作者:三酷猫,如若转载,请注明出处:https://www.sankumao.com/1380.html

(0)
上一篇 2022年8月6日 下午7:05
下一篇 2022年8月6日 下午7:24

相关推荐

  • eclipse 中各种小图标含义

    outline: 实心的代表方法 空心的代表属性 绿色的圆表示公有public 黄色的菱形表示保护protect 红色的方形表示私…

    2022年10月16日
  • Java基础六:流(Stream)、文件(File)和IO

    Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。 一个…

    2022年10月17日
  • Java基础七:面向对象

    继承 1.继承类型 需要注意的是 Java 不支持多继承,但支持多重继承。 2.继承关键字 extends:类的继承是单一继承 implements:接口的继承,可继承多个接口 3…

    2022年10月17日
  • Python复制文件的5种方法

    以下是“如何在Python中复制文件”的4种库的使用。+open方法来复制文件 一、shutil标准库 具体使用方法,请查看如下shutil库介绍教程。 二、os库 1.os.po…

    2022年11月16日
  • 一文读懂 Python 装饰器

    装饰器:本质上也是一种函数,它可以让其它函数在不经过修改的情况下增加一些功能。 像我们常见的@classmethod、@static装饰器。被装饰器修饰的函数,都增加了他们相应的能…

    Python 2022年9月23日
  • c++优先队列(priority_queue)用法详解

    优先队列是queue的一种,#include<queue>。不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队。 优先队列具有队列的所有特…

    C++ 2022年4月19日
  • Java基础九:集合框架

    早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。虽然这些类都…

    2022年10月18日
  • Python爬虫教程五:数据清洗 – BeautifulSoup模块

    和lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据 区别在于:BeautifulSoup4可以使…

    2022年10月14日
  • Python虚拟环境之Virtualenv详解

    一、virtualenv简介 virtualenv用来创建独立的Python虚拟环境,可以将每个项目与其他项目独立开来,互不影响,解决了依赖包版本冲突的问题。 二、安装virtua…

    2022年10月27日
  • Python爬虫教程七:Scrapy框架(上)

    一、Scrapy框架简介 Scrapy是用Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 框架的优势在于,用户只需要定制开发几个模块就可以轻松…

    2022年10月14日