`
sisi111111
  • 浏览: 25114 次
文章分类
社区版块
存档分类
最新评论

pmd的使用介绍

阅读更多
PMD是扫描 Java 源码并查找以下潜在问题:

     从未用过的局部变量
     空捕捉块(catch block)
      从未用过的参数
     空if声明
     重复的导入声明
    从未用过的私有方法
     孤立的类
     短型或长型变量及方法名
PMD 具有下列软件的插件:JEdit, JBuilder, NetBeans/Sun ONE Studio, IntelliJ IDEA, TextPad, Maven, Ant, Eclipse, Gel, Emacs

1、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含义探索)


2、PMD运行机制

PMD 根据规则核对源码并产生一个报告。具体如下:

      有文件名和RuleSet传入PMD
        PMD将通过该文件的InputStream传递给由JavaCC-生成的解析器
        PMD 从解析器取得指向抽象语法树(AST)的引用
      RuleSet 中的每个规则都遍历AST 并检查错误
       报告内容包括RuleViolations以及符合XML 、HTML 或其它格式的代码/文件
PMD用法
  1.要使用PMD,先要下载PMD插件,在Eclipes点HELP,选择Softwareupdates,然后选Available Software 而后就点右边的Add Site 将 http://pmd.sourceforge.net/eclipse/ -输入,-点击http://pmd.sourceforge.net/eclipse/ 会出现PMD for Eclipse2与 PMD for Eclipse 3 选择其中一个PMD for Eclipse2 然后就点Install,这样配置就行了。


2. 但是其规范太过于严格,因尔我们只能采用其相对于大众而言的一些规范,然而我们要去http://www.springside.org.cn/download.php 下载一个springside3.0.4.all.in.one,,然后在项目->属性->PMD中,将 springside.0.4.all.in.one/tools/configures/pmd /springside3_ruleset.xml 导入到项目中。更改设置后,需要重新export文件,并clear原来的标签,重新再check一次。


3.上面这些都弄好了之后,如果你发现他不能在你写代码的时候及时给予提示,那就是你在倒入 springside.0.4.all.in.one/tools/configures/pmd /springside3_ruleset.xml时,然后要把Enable PMD 与Include derived files 两个都选上就可以了。


4.这些配好了之后,在你选择工程点击右键,选择PMD之后有几个选项:



Generate reports: 生成报告,生成在你的工程目录下的reports里

Clear violation reviews

Find suspect Cut And Paste..:是检查指种后缀的文件。如JAVA,JSP等

Check Code With PMD  就是检查代码。

做好以上步骤以后就会在项目中静态的检测你每一行的代码,如果有不符合要求的会出现 警告。

分享到:
评论

相关推荐

    PMD集成eclipse插件

    **一、PMD插件介绍** PMD是Pattern Matching for Java的缩写,它通过解析Java源代码,应用一系列预定义的规则来检测潜在的问题。这些规则涵盖了设计、样式、可能的错误等多个方面。PMD不仅仅是一个命令行工具,还...

    静态java分析工具PMD

    项目组目前代码检查的工作基本上都是通过人工的方式,实行起来比较困难,检查的效果也不是很明显。...本文主要介绍了如何使用pmd工具进行代码的自动化检查,以规避一些潜在的问题并找出代码的逻辑错误。

    PMD对java程序分析实验报告

    本实验报告将详细介绍如何使用PMD进行Java程序分析,并提供相关的测试方法和步骤。 **一、PMD工具简介** PMD的核心功能是通过解析Java源代码,应用预定义的规则集来检查代码中的问题。这些规则涵盖了许多方面,...

    PMD5.1.1安装包

    文档会详细介绍如何运行PMD,包括配置选项、自定义规则集以及如何与其他开发工具集成。 5. **运行PMD**:打开终端或命令提示符,导航到PMD的bin目录,然后运行`pmd`或`pmd.bat`(取决于你的操作系统)。首次运行,...

    配置Eclipse中PMD插件

    下面我们将介绍如何在 Eclipse 中配置和使用 PMD 插件。 安装 PMD 插件 要在 Eclipse 中安装 PMD 插件,需要按照以下步骤进行: 1. 选择“Search for new feature to install”,然后点击“Next”。 2. 点击“New...

    FindBugs、PMD和CheckStyle对比

    本文将详细介绍FindBugs、PMD和CheckStyle这三种静态代码分析工具的特点、功能及其应用场景,并对比它们之间的差异,帮助开发者更好地理解这些工具的优势与局限性,从而在实际开发中做出更合适的选择。 #### 二、...

    matlab开发-对PMD并行程序使用虚拟处理器

    在"virtualProcessorsArgentiniDec2003.pdf"这篇文档中,可能详细介绍了如何配置和使用虚拟处理器的具体步骤。通常,这包括以下几个步骤: 1. **初始化并行计算环境**:使用`parpool`函数创建并行计算池,指定虚拟...

    Jenkins中FindBugs、PMD、CheckStyle和Violations静态分析工具安装配置

    本文将详细介绍 Jenkins 中 FindBugs、PMD、CheckStyle 和 Violations 静态分析工具的安装配置过程。 FindBugs 是一个静态分析工具,主要检查 Java 字节码(.class 文件)中的潜在 bug。FindBugs 能够检查 bytecode...

    idea plugin pmd

    虽然描述中并未提供具体信息,但我们可以推断,这篇博客文章(https://circo.iteye.com/blog/2183543)可能详细介绍了如何在IntelliJ IDEA中安装和使用PMD插件,以及它如何帮助优化和维护代码质量。通常,这样的插件...

    PMD 18T vector information

    ### PMD 18T Vector 详尽解析与应用指南 #### 一、PMD18-T Vector 简介 **PMD18-T Vector** 是一款专门...通过以上详尽的介绍与操作指南,相信您已经对PMD18-T Vector及其在PCR产物克隆中的应用有了全面深入的理解。

    静态分析工具PMD规则翻译合集

    通过结合使用PMD的不同规则集,开发者可以定制适合自己项目的静态分析策略,确保代码质量始终保持在较高水平。在集成开发环境中如Eclipse,可以安装PMD插件,以便在编码时实时获取反馈,及时修正问题。

    PMD.rar_DGD_PMD monte car_pmd_偏振 蒙特卡洛_偏振蒙特卡洛

    标签进一步强调了主题的关键点,"dgd"、"pmd_monte_car"、"pmd"、"偏振_蒙特卡洛"、"偏振蒙特卡洛",这些都表明文档内容会围绕DGD、PMD以及使用蒙特卡洛模拟的方法展开。 压缩包内的"有关偏振模色散的信息统计.doc...

    MCC PMD系列产品选型指南.rar

    1. **产品概述**:这部分通常会介绍PMD系列的基本设计理念,包括产品的功能定位、适用场景以及主要技术特点。 2. **产品线**:PMD系列可能包含多个型号,每个型号都有其独特的性能指标。指南会列出所有型号,包括...

    用PMD铲除bug

    本文详细介绍了如何使用PMD这一强大的静态代码分析工具来提升Java代码质量。通过实例演示了如何安装、配置及运行PMD,并深入分析了其报告内容。此外,还提供了构建自定义规则集的方法,使读者能够更好地利用PMD解决...

    PMD-CTI100电缆测试仪说明书.rar

    这份说明书详细介绍了该设备的使用方法和功能特性,对于在工程现场进行电缆测试和维护工作具有极高的指导价值。同时,结合LabVIEW这一强大的图形化编程环境,PMD-CTI100能够实现更复杂的数据分析和自动化测试流程。 ...

    软件测试实验教程朱少民版实验报告七

    1. PMD介绍: PMD的主要功能是对Java代码进行静态分析,检测出潜在的问题,如未使用的变量、空的catch块、过度复杂的表达式等。此外,PMD还支持多种其他语言,包括JavaScript、PLSQL、Apache Velocity、XML和XS。...

    使用干涉法对电力系统OPGW光缆PMD的测量.pdf

    正文详细介绍了PMD对光通信系统的影响以及如何使用干涉法进行测量。随着电力通信对高速、长距离传输的需求增加,PMD成为限制系统性能的关键因素。OPGW光缆在电力网络中的广泛应用,使得对其PMD性能的评估变得至关...

    Hudson+PMD 学习资料

    【PMD使用说明.doc】这份文档很可能是对PMD的详细操作指南,包括如何安装、配置PMD,创建和修改规则集,以及如何在实际项目中使用PMD进行代码质量检查。 【Hudson的持续集成指南.pdf】这本书籍或文章可能详细介绍了...

    任务4(pmd不带参数).zip

    1. **PMD的介绍**:一份简短的文档或README文件,解释PMD的基本概念、功能和目标。 2. **Java源代码**:一些示例的Java代码,用于演示PMD如何检测和报告问题。 3. **PMD配置文件**:可能包含一个或多个XML配置文件,...

Global site tag (gtag.js) - Google Analytics