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.金 ...
随机推荐
- Bootstrap 模态框、轮播 结合使用
Bootstrap 模态框和轮播分开使用的教程网上非常多.可是两者结合使用的样例和资料非常少. 两者结合使用时,開始我遇到了不少bug,如今分享给大家. 我的这个样例是把图片轮播嵌入到模态框里. 最后 ...
- CentOS7.1 KVM虚拟化之经常使用管理虚拟机命令(3)
一.查看虚拟机列表及状态 [root@kvm01 ~]# virsh list --all Id Name State ---------------------------------------- ...
- HTML字体对应word字体
42磅对应初号. 36磅对应小初. 26磅对应一号. 24磅对应小一号. 22磅对应二号. 18磅对应小二号. 16磅对应三号. 15磅对应小三号. 14磅对应四号. 12磅对应小四号. 10.5磅对 ...
- Python流程控制 if / for/ while
在Python中没有switch语句 If语句 if condition: do sth elif condition: Do sth else: Do sth while语句有一个可选的else从句 ...
- React学习之redux
在阅读本文之前,希望大家对以下知识点能提前有所了解并且上好厕所(文章有点长): 状态提升的概念 react高阶组件(函数) es6基础 pure 组件(纯函数) Dumb 组件 React.js的co ...
- Java中执行存储过程和函数
装载于:http://www.cnblogs.com/liunanjava/p/4261242.html 一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. Ca ...
- opencl教程
http://www.altera.com.cn/corporate/news_room/releases/2013/products/nr-opencl-sdk-13.0.html http://w ...
- Npm 被公司墙解决方法
npm被公司墙了,不能用npm安装任何包应用了. npm ERR! Darwin npm ERR! argv "/usr/local/Cellar/node/6.4.0/bin/node&q ...
- 畅通project再续 HDU杭电1875 【Kruscal算法 || Prim】
Problem Description 相信大家都听说一个"百岛湖"的地方吧.百岛湖的居民生活在不同的小岛中.当他们想去其它的小岛时都要通过划小船来实现.如今政府决定大力发展百岛湖 ...
- HDFS源码分析心跳汇报之数据结构初始化
在<HDFS源码分析心跳汇报之整体结构>一文中,我们详细了解了HDFS中关于心跳的整体结构,知道了BlockPoolManager.BPOfferService和BPServiceActo ...