C:\tools\pmd-4.1\bin>pmd C:\project\***\src html>a.html rulese
ts/unusedcode.xml,rulesets/basic.xml
PMD 包含 16 个规则集,涵盖了 Java 的各种常见问题,其中一些规则要比其他规则更有争议:
基本(rulesets/basic.xml)—— 规则的一个基本合集,可能大多数开发人员都不认同它: catch 块不该为空,无论何时重写 equals(),都要重写 hashCode(),等等。
命名(rulesets/naming.xml)—— 对标准 Java 命令规范的测试:变量名称不应太短;方法名称不应过长;类名称应当以小写字母开头;方法和字段名应当以小写字母开头,等等。
未使用的代码(rulesets/unusedcode.xml)—— 查找从未使用的私有字段和本地变量、执行不到的语句、从未调用的私有方法,等等。
设计(rulesets/design.xml)—— 检查各种设计良好的原则,例如: switch 语句应当有 default 块,应当避免深度嵌套的 if 块,不应当给参数重新赋值,不应该对 double 值进行相等比较。
导入语句(rulesets/imports.xml)—— 检查 import 语句的问题,比如同一个类被导入两次或者被导入 java.lang 的类中。
JUnit 测试(rulesets/junit.xml)—— 查找测试用例和测试方法的特定问题,例如方法名称的正确拼写,以及 suite() 方法是不是 static 和 public。
字符串(rulesets/string.xml)—— 找出处理字符串时遇到的常见问题,例如重复的字符串标量,调用 String 构造函数,对 String 变量调用 toString() 方法。
括号(rulesets/braces.xml)—— 检查 for、 if、 while 和 else 语句是否使用了括号。
代码尺寸(rulesets/codesize.xml)—— 测试过长的方法、有太多方法的类以及重构方面的类似问题。
Javabean(rulesets/javabeans.xml)—— 查看 JavaBean 组件是否违反 JavaBean 编码规范,比如没有序列化的 bean 类。
终结函数(finalizer)—— 因为在 Java 语言中, finalize() 方法不是那么普遍(我上次编写这个代码也经是好多年前的事了),所以它们的使用规则虽然很详细,但是人们对它们相对不是很熟悉。这类检查查找 finalize() 方法的各种问题,例如空的终结函数,调用其他方法的 finalize() 方法,对 finalize() 的显式调用,等等。
克隆(rulesets/clone.xml)—— 用于 clone() 方法的新规则。凡是重写 clone() 方法的类都必须实现 Cloneable, clone() 方法应该调用 super.clone(),而 clone() 方法应该声明抛出 CloneNotSupportedException 异常,即使实际上没有抛出异常,也要如此。
耦合(rulesets/coupling.xml)—— 查找类之间过度耦合的迹象,比如导入内容太多;在超类型或接口就已经够用的时候使用子类的类型;类中的字段、变量和返回类型过多等。
严格的异常(rulesets/strictexception.xml)—— 针对异常的测试:不应该声明该方法而抛出 java.lang.Exception 异常,不应当将异常用于流控制,不应该捕获 Throwable,等等。
有争议的(rulesets/controversial.xml)—— PMD 的有些规则是有能力的 Java 程序员可以接受的。但还是有一些争议。这个规则集包含一些更有问题的检验,其中包括把 null 赋值给变量、方法中有多个返回点,以及从 sun 包导入等。
日志(rulesets/logging-java.xml)—— 查找 java.util.logging.Logger 的不当使用,包括非终状态(nonfinal)、非静态的记录器,以及在一个类中有多个记录器。
分享到:
相关推荐
PMD 代码检查工具使用指南 PMD 是一个静态代码分析工具,主要用于检查 Java 代码的质量和可读性。下面是 PMD 的使用指南,包括安装、运行、规则配置和自定义规则等方面的内容。 安装和运行 PMD 可以通过命令行或...
**PMD代码规范工具详解** PMD是一款广泛应用于Java开发领域的静态代码分析工具,它的主要目的是在代码执行之前,通过扫描源代码来发现潜在的问题。这些问题可能包括编程错误、不良实践、性能瓶颈以及不符合编码规范...
PMD是一款强大的Java代码检查工具,它遵循BSD开源协议,被广泛用于提升代码质量、发现潜在的bug、优化代码结构和风格。这款工具通过对源代码进行静态分析,帮助开发者在代码执行之前找出可能存在的问题,从而减少...
自己整理的PMD检查的各个规则说明,其中打○的是我自己用的规则,大家自己按实际需要选择吧,有不对的地方请多多指教。
PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。 ...
PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。 ...
PMD检查工具4.0是一款针对Java编程语言的静态代码分析工具,旨在帮助开发者发现并修复源代码中的潜在问题,如冗余代码、未使用的变量、空捕获块、复杂度过高的方法等。该工具在Java开发领域广泛应用,通过自定义规则...
PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。 ...
**静态代码检查插件PMD** PMD 是一个开源的静态代码分析工具,主要用于Java语言,但也有对其他语言如JavaScript、 Apex 和 Groovy 的支持。它的主要目标是帮助开发者发现并修复潜在的bug,提高代码质量,遵循最佳...
【描述】所提到的“PMD代码检查工具错误翻译整理”,意味着整理者花费了大量时间将PMD工具在使用过程中产生的错误信息从英文翻译成中文,使得中文用户在阅读和处理这些错误信息时可以更直观和流畅。这不仅帮助了中文...
除了MyEclipse的插件外,还有其他独立的代码检查工具,如Checkstyle、PMD和FindBugs。这些工具也可以集成到各种IDE中,提供更广泛和深入的代码分析。 通过使用Java代码检查工具,开发者能够持续改进代码质量,减少...
pmd-bin 静态代码分析工具 PMD是静态源代码分析器。 它发现常见的编程缺陷,例如未使用的变量,空的catch块,不必要的对象创建等。 它主要涉及Java和Apex,但支持其他六种语言。 PMD具有许多内置检查(以PMD术语,...
在众多静态代码检查工具中,FindBugs、CheckStyle和PMD是针对Java语言中非常流行的三个工具。它们各自有不同的侧重点: 1. FindBugs: FindBugs主要关注于发现Java代码中的错误模式(bug patterns),也就是在代码...
除此之外,PMD和FindBugs是两个著名的独立代码检查工具,它们通过静态分析源代码来发现潜在的问题。例如,PMD可以检测出过度复杂的代码块、未使用的局部变量和空的finally块,而FindBugs则能找出可能的空指针异常、...
PMD是一款强大的开源工具,专用于分析Java源代码,帮助开发者发现潜在的问题和不规范的编程习惯。它的核心功能是通过静态代码分析,找出可能存在的错误、低效或者冗余代码,从而提高代码质量和可维护性。PMD的全称...
Java编程语言在软件开发中占据着重要地位,为了确保代码质量、提高软件的稳定性和可维护性,开发者通常会利用各种代码检查工具和测试工具。本文将详细介绍Java代码检查工具FindBugs及其使用方法。 FindBugs是一款...
Flex代码检查PMD是一种针对ActionScript 3(AS3)代码的质量分析工具,与Java中的PMD类似。PMD( Potion Memory Debugger)最初是为Java语言设计的源代码分析器,用于检测潜在的编程错误、代码异味(code smell)...
Java代码静态检查工具是开发过程中不可或缺的一环,它主要用于在编码阶段就发现潜在的问题,提高代码质量,减少错误。在Android Studio这样的集成开发环境中,我们可以方便地集成这些工具,使得静态检查成为日常开发...
Java代码检查工具是开发者在编写和维护代码时的重要辅助手段,它们可以帮助我们发现潜在的错误、不符合编程规范的地方,以及可能影响性能的问题。开源的Java代码检查工具有很多种,这些工具不仅免费,而且有着丰富的...