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

醉折花枝作酒筹

醉折花枝作酒筹

2021-05-06

3572人浏览

转载

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

Alibaba Java Coding Guidelines

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

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

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

如果要检查整个项目所有文件的话,可以关闭窗口中的类,然后按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插件是实际项目中用到的比较多的两个插件。下面就详细介绍一下插件的安装和使用。

Java JDK 25
Java JDK 25

Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。

下载

安装

settings->plugins里面搜索
SonarLint
>install->重启Idea

配置SonnarLint 检查地址:

settings->Tools->SonarLint->Settings 
中增加sonarqube的地址

如下图配置了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基础教程

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

java

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

2023.08.22

1020

3

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.01

2808

5

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2024.08.01

3386

7

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

2024.11.28

1794

7

C++ 智能指针与现代内存管理
C++ 智能指针与现代内存管理

深入讲解 C++ 现代内存管理的核心工具——智能指针,涵盖 unique_ptr 独占所有权语义、shared_ptr 引用计数机制与循环引用问题、weak_ptr 弱引用的应用场景、make_unique/make_shared 工厂函数的性能优势、自定义删除器的编写、RAII 资源管理思想的实践,以及从裸指针迁移到智能指针的重构策略,帮助开发者编写安全无泄漏的现代 C++ 代码。

2026.04.23

114

31

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

2024.01.03

1745

7

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

2025.12.06

182

9

空指针异常处理
空指针异常处理

本专题整合了空指针异常解决方法,阅读专题下面的文章了解更多详细内容。

2025.11.16

136

10

idea快捷键大全
idea快捷键大全

本专题为大家提供idea快捷键相关的文章,帮助大家解决问题。

2023.08.03

928

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

Java 26官方文档
Java 26官方文档

共0课时 | 0人学习