Jadual Kandungan
CheckStyle
Findbugs
SonarLint
Rumah Java Javabermula 如何使用编码规范与静态代码检查插件

如何使用编码规范与静态代码检查插件

May 06, 2021 am 09:59 AM
java pemalam

本篇文章给大家介绍一下编码规范与静态代码检查插件的使用方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

如何使用编码规范与静态代码检查插件

Alibaba Java Coding Guidelines

首先介绍的是阿里巴巴的编码规约,相信大家对这个都比较熟悉了。安装方式是在

settings->plugins里面搜索
Alibaba Java Coding Guidelines-
>install->重启Idea
Salin selepas log masuk

这个插件侧重于代码的缺陷,详细的编码规范在《阿里开发手册》已经定义,大家有兴趣的可以看看。

如果要检查整个项目所有文件的话,可以关闭窗口中的类,然后按Ctrl+Alt+Shift+J 快捷键,或者如下图操作也是可以的。

在这里插入图片描述
检查的结果如图所示:

在这里插入图片描述

如果要对单个的文件进行检查的话,可以在类上右键,选中Alibaba Coding Guidelines Analyze

CheckStyle

第二个要介绍的插件是CheckStyle插件。这个插件侧重于代码的格式检查。使用方式如下图:在checkstyle面板,点击检查按钮进行检查,也可以检查单个文件。

在这里插入图片描述在这里插入图片描述
如上图,可以看到都是一些缩进啥的编码规范,可以不用太关注。

Findbugs

findBugs-idea的作用侧重于发现代码中可能存在的bug。它检查类或者JAR 文件,将字节码与一组缺陷模式(自带检测器)进行对比以发现可能的问题。执行Findbugs编码规约扫描PMD

(Programming Mistake Detector) 是一个开源的静态代码检查工具。PMD 支持多种语言,比如项目本身的 Java,Salesforce 相关的 Apex、VisualForce,还有 JavaScript、XML 等。PMD 对于各种语言都预设了一套代码规则,也支持开发自定义规则,可以使用 Java 类或者XPath。

选中一段代码,然后右键Run PMD->Pre Defined,这里有许多检查类型可以选择,有代码样式,设计等等。

在这里插入图片描述

SonarLint

最后要介绍的是SonarLint插件,这个插件和Alibaba Java Coding Guidelines插件是实际项目中用到的比较多的两个插件。下面就详细介绍一下插件的安装和使用。

安装

settings->plugins里面搜索
SonarLint
>install->重启Idea
Salin selepas log masuk

配置SonnarLint 检查地址:

settings->Tools->SonarLint->Settings 
中增加sonarqube的地址
Salin selepas log masuk

如下图配置了sonarqube的地址

在这里插入图片描述
使用SonarList

配置好SonarList之后,就是使用了,SonarLint既可以对所有文件进行检查,检查全部文件的方式是:点击Analyze->Analyze All Files with SonarLint

在这里插入图片描述

又可以单个文件检查,单个文件就是在文件编辑区右键选中:

在这里插入图片描述

生成的报告如下:这里既有违规的问题(即潜在的Bugs & Vulnerabilities)。比如:NullPointerException,又有代码的坏味道(Code Smells)。一般而言Bug级别的问题需要我们处理,坏味道可以忽略。还有另外一个指标就是代码的重复率,即代码内部的重复代码。

在这里插入图片描述

各类插件的比较

检查侧重点不同

工具 分析对象 侧重 应用技术
Alibaba Java Coding Guidelines 源代码 代码缺陷 Inspection机制提供实时检测功能
CheckStyle 源文件 格式缺陷 缺陷模式匹配
FindBugs 字节码 代码缺陷 缺陷模式匹配,数据流分析
PMD 源代码 代码缺陷 缺陷模式匹配
SonarList 源代码 代码缺陷 缺陷模式匹配,多个维度处理

检查项不同

工具 目的 检查项
Alibaba Java Coding Guidelines 扫描出所有潜在的代码隐患 方法名 参数名 成员变量 局部变量 枚举类 try-catch
CheckStyle 检查Java源文件是否与代码规范相符 Javadoc注释 命名规范 标题import语句 体积大小 空白
FindBugs 基于Bug Patterns 概念,查找javabytecode(.class文件)中的潜在bug NullPoint空指针检查,没有不合理关闭资源
PMD 检查Java源文件潜在问题 未使用的本地变量 空的catch块,未使用参数空 if语句,重复的import语句,未使用的私有方法 可能是Singleton的类 短/长变量及方法名字
SonarList 扫描出所有潜在的代码隐患 方法名 参数名 成员变量 局部变量 枚举类 try-catch

相关免费学习推荐:java基础教程

Atas ialah kandungan terperinci 如何使用编码规范与静态代码检查插件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Akar Kuasa Dua di Jawa Akar Kuasa Dua di Jawa Aug 30, 2024 pm 04:26 PM

Panduan untuk Square Root di Java. Di sini kita membincangkan cara Square Root berfungsi di Java dengan contoh dan pelaksanaan kodnya masing-masing.

Nombor Sempurna di Jawa Nombor Sempurna di Jawa Aug 30, 2024 pm 04:28 PM

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Penjana Nombor Rawak di Jawa Penjana Nombor Rawak di Jawa Aug 30, 2024 pm 04:27 PM

Panduan untuk Penjana Nombor Rawak di Jawa. Di sini kita membincangkan Fungsi dalam Java dengan contoh dan dua Penjana berbeza dengan contoh lain.

Weka di Jawa Weka di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Nombor Smith di Jawa Nombor Smith di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Soalan Temuduga Java Spring Soalan Temuduga Java Spring Aug 30, 2024 pm 04:29 PM

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Cuti atau kembali dari Java 8 Stream Foreach? Cuti atau kembali dari Java 8 Stream Foreach? Feb 07, 2025 pm 12:09 PM

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

See all articles