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/)

 

posted @ 2018-09-15 00:48  GDBD  阅读(533)  评论(0编辑  收藏  举报