IDEAL葵花宝典:java代码开发规范插件 checkstyle、visualVM、PMD 插件
前言:
visualVM:
运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配;某个对象占用了多大的内存,jvm调优必备工具。
checkstyle:
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。
它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。
CheckStyle检验的主要内容:
1):Javadoc注释; 2):命名约定; 3):·标题 4): Import语句 ; 5):体积大小; 6):空白; 7):修饰符; 8):块; 9):代码问题; 10):类设计
混合检查(包括一些有用的比如非必须的System.out和printstackTrace)
从上面可以看出,CheckStyle提供了大部分功能都是对于代码规范的检查,而没有提供像PMD和Jalopy那么多的增强代码质量和修改代码的功能。
但是,对于团队开发,尤其是强调代码规范的公司来说,它的功能已经足够强大。
PMD:
PMD是扫描 Java 源码并查找以下潜在问题:
1):从未用过的局部变量
2):空捕捉块(catch block)
3):从未用过的参数
4):空if声明
5):重复的导入声明
6):从未用过的私有方法
7):孤立的类
8):短型或长型变量及方法名
PMD 具有下列软件的插件:JEdit, JBuilder, NetBeans/Sun ONE Studio, IntelliJ IDEA, TextPad, Maven, Ant, Eclipse, Gel, Emacs
PMD 的含义:
坦率地说,我们其实也不知道PMD的真正意义所在 (我们只是认为这三个字母拼在一起较为好听) 。但是,我们提出了计算行业的几种解释以供参考。
PMD:
Pretty Much Done (几乎无所不能)
Project Mess Detector (项目故障探测器)
Project Monitoring Directives (项目监视器)
Protein Mutant Database (基因突变数据库)
Project Meets Deadline (项目到期)
Programming Mistake Detector (程序错误检测器)
Pounds Mistakes Dead (彻底纠错)
PMD Meaning Discovery (PMD含义探索)
PMD运行机制:
PMD 根据规则核对源码并产生一个报告。具体如下:
有文件名和RuleSet传入PMD ;PMD将通过该文件的InputStream传递给由JavaCC-生成的解析器 ;PMD 从解析器取得指向抽象语法树(AST)的引用;RuleSet 中的每个规则都遍历AST 并检查错误
报告内容包括RuleViolations以及符合XML 、HTML 或其它格式的代码/文件
安装步骤:
到这里我们默认已经完成了3个插件的安装。
checkstyle,PMD,都可以直接使用,但VsiualVM需要配合客户端来完成配置和使用。
下面先去官网下载VisualVM的客户端。VisualVM官网链接
配置连接过程如下:
在打开的页面内选择已经解压好的文件夹中的bin文件夹内的"VisualVM.exe"
visualVM:使用操作
1):在代码编辑区点击右键,如图选择
这时会触发VisualVM客户端,可以观察项目内的性能使用情况
checkstyle:使用操作
1):.安装完之后,我们打开checkstyles,点击绿色箭头
2):出现提示"No rules file has been configured",这是提醒我们没有为其指定配置文件,它不知道应该按照什么标准来评判代码的风格
3):解决办法:打开settings->Other Settings->Checkstyle ,选定默认的配置文件。
---------------------- 后续补全 ----------------------
PMD:使用步骤
1):在代码编辑区点击右键,根据项目不同选择不同的检查规则集
2):在下方按照不同规则集显示出不同位置的错误,通过规则名就可以得知代码的问题类型
--------------------------------------------------------------------------------
以上内容若有不足之处:请多多请教
如要转载请注明小编本站地址:(https://www.cnblogs.com/mlq2017/)
IDEAL葵花宝典:java代码开发规范插件 checkstyle、visualVM、PMD 插件的更多相关文章
- JAVA 代码开发规范
一.开发工具规范: 1. 开发工具经项目负责人调试后统一确定. 2. 开发工具一经确定不允许集成任何非统一插件,若有需要,经项目负责人同意后统一为 项目组成员添加. 3. 开发工具的编码格式不允许修改 ...
- IDEAL葵花宝典:java代码开发规范插件 p3c
前言: P3C插件 是阿里巴巴p3c项目组进行研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,根据<阿里巴巴Java开发规范>转化而成的自动化插件,并且实现了部分自动编程. ...
- IDEAL葵花宝典:java代码开发规范插件 lombok 插件
前言: lombok简介: lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. 那么 ...
- IDEAL葵花宝典:java代码开发规范插件:GsonFormat插件将JSONObject格式的String 解析成实体
前言: GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 这个教程主要是学习IntelliJ IDEA ...
- IDEAL葵花宝典:java代码开发规范插件 Rainbow Brackets 插件
前言: 最近在Jetbrains IDEA插件网站逛发现了 Rainbow Brackets这款插件,非常棒,推荐给大家. 可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能. 对增强写代码的有 ...
- IDEAL葵花宝典:java代码开发规范插件 GenerateAllSetter、ECtranslation、translation、插件
前言: GenerateAllSetter: 我们在程序开发过程中,往往要编写这样的类:类的部分或者全部属性不希望让外部世界直接访问,而不用public字段修饰.这样,方法调用成了访问这些属性的唯一 ...
- IDEAL葵花宝典:java代码开发规范插件 FindBugs-IDEA
前言: 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多,写完代码后检测下 避免低级bug,强烈建议用一下,一不小心就发现很多老代码的bug. 使用步骤: 1):打开 Settings ...
- IDEAL葵花宝典:java代码开发规范插件 (maven helper)解决maven 包冲突的问题
小编说到: 在我们日常开发当中常常我们会遇到JAR包冲突.找来找去还找不到很是烦人.那么所谓的JAR包冲突是指的什么那?JAR包冲突就是-引入的同一个JAR包却有好几个版本. 例如: 项目中引用了两个 ...
- java代码开发完成后,代码走查规范
代码走查注意事项: 1.不变的值,尽量写个常量类 2.尽量使用if{}else,不要一直if去判断 3.减少循环调用方法查询数据库 4.dao层尽量不要用逻辑,尽量在service里写业务逻辑 5.金 ...
随机推荐
- TCP/IP详解 卷一(第三章 IP:网际协议)
IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP及IGMP数据都以IP数据报格式传输. IP提供不可靠.无连接的数据报传送服务. 1.不可靠:就是它不能保证IP数据报能成功地到 ...
- jquery:给正则表达式添加变量
http://www.2cto.com/kf/201402/277766.html 正则表达式普通用法:var checkString=/^.*\S+.*$/; //注意正则表达式没有引号 chec ...
- Node.js学习笔记(4)——除了HTTP(服务器和客户端)部分
很多node入门的书里面都会在介绍node特性的时候说:单线程,异步式I/O,事件驱动. Node不是一门语言,它是运行在服务器端的开发平台,官方指定语言为javascript. 阻塞和线程: 线程在 ...
- ubuntu下编译原生ffmpeg
本文主要介绍Linux 系统下如何编译Ffmpeg,编译环境是Ubuntu 16.04,Ffmpeg版本是3.4.2.Windows环境 下如何编译ffmpeg前面有博文介绍,也录有视频,感兴趣的同学 ...
- nodejs读取配置文件
INI.js(模块) var eol = process.platform === "win32" ? "\r\n" : "\n" func ...
- AspectJ学习笔记2-Eclipse中AspectJ插件AJDT的正确安装方法
接着之前一篇日志. 这个事情也挺无语的.简单记录一下. 在这里:http://www.eclipse.org/ajdt/ 能够下载最新的Eclipse Plugin.下载解压之后,一般来说.直接把解压 ...
- 常用js特效
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.sr ...
- Python,Pycharm,Anaconda等的关系与安装过程~为初学者跳过各种坑
1.致欢迎词 我将详讲讲述在学Python初期的各种手忙脚乱的问题的解决,通过这些步骤的操作,让你的注意力集中在Python的语法上以及后面利用Python所解决的项目问题上.而我自己作为小白,很不幸 ...
- 02 redis通用命令操作
set hi hello 设置值 get hi 获取值 keys * 查询出所有的key memcached 不能查询出所有的key keys *h 模糊查找key keys h[ie] 模糊查找 k ...
- 【转】cmd chcp命令切换字符格式
cmd chcp命令切换字符格式 命令介绍: chcp 65001 #换成utf-8代码页 chcp 936 #换成默认的gbk chcp 437 #美国英 ...