本篇文章给大家介绍一下编码规范与静态代码检查插件的使用方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
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插件是实际项目中用到的比较多的两个插件。下面就详细介绍一下插件的安装和使用。
安装
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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver Mac版
视觉化网页开发工具

Dreamweaver CS6
视觉化网页开发工具

SublimeText3汉化版
中文版,非常好用