PMD 5.5.2 发布了,PMD 是一款采用 BSD 协议发布的 Java 程序代码检查工具。该工具可以做到检查 Java 代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是 Java 程序员 debug 的好帮手。更新如下:
概要:
1 new language for CPD: Groovy
1 new rule: plsql-strictsyntax/MisplacedPragma
12 pull requests
17 bug fixes
新支持的语言:
CPD now supports Groovy. See PR#107.
Feature Requests and Improvements:
plsql
#1539: [plsql] Create new rule for strict syntax checking: MisplacedPragma
New Rules:
New Rules for plsql
plsql-strictsyntax: MisplacedPragma
Pull Requests:
#106: [java] CPD: Keep constructor names under ignoreIdentifiers
#107: [groovy] Initial support for CPD Groovy
#110: [java] Fix parser error (issue 1530)
#111: [java] Fix BooleanInstantiationRule for Java 8
#112: [java] Fix ClassCastException on CloneMethodMustImplementCloneable
#113: [java] Fix ClassCastException on SignatureDeclareThrowsException
#114: [core] Remove multihreading workaround for JRE5, as no PMD version supports running on JRE5 anymore
#115: [java] Simplify lambda parsing
#116: [core] [java] Improve collection usage
#117: [java] Improve symboltable performance
#118: [java] Simplify VariableDeclaratorId parsing
#119: [plsql] Fix PMD issue 1531- endless loop followed by OOM while parsing (PL)SQL
Bugfixes:
apex-apexunit
#1521: [apex] ApexUnitTestClassShouldHaveAsserts: Parsing error on APEX class: expected one element but was:
Java
#1530: [java] Parser exception on Java code
#1490: [java] PMD Error while processing - NullPointerException
java-basic/BooleanInstantiation
#1533: [java] BooleanInstantiation: ClassCastException with Annotation
java-comments
#1522: [java] CommentRequired: false positive
java-design/SingularField
#1494: [java] SingularField: lombok.Data false positive
java-imports/UnusedImports
#1529: [java] UnusedImports: The created rule violation has no class name
java-logging-java
#1500 [java] InvalidSlf4jMessageFormat: doesn't ignore exception param
#1509 [java] InvalidSlf4jMessageFormat: NPE
java-typeresolution/CloneMethodMustImplementCloneable
#1532: [java] CloneMethodMustImplementCloneable: Implemented Interface extends Cloneable
#1534: [java] CloneMethodMustImplementCloneable: ClassCastException with Annotation (java8)
java-typeresolution/SignatureDeclareThrowsException
#1535: [java] SignatureDeclareThrowsException: ClassCastException with Annotation
PLSQL
#1520: [plsql] Missing PL/SQL language constructs in parser: Is Of Type, Using
#1527: [plsql] PRAGMA AUTONOMOUS_TRANSACTION gives processing errors
#1531: [plsql] OOM/Endless loop while parsing (PL)SQL
General
#1506: [core] When runing any RuleTst, start/end methods not called
#1517: [java] CPD reports on Java constructors when using ignoreIdentifiers
软件详情:https://github.com/pmd/pmd/releases/tag/pmd_releases%2F5.5.2
下载地址:https://github.com/pmd/pmd/releases/download/pmd_releases%2F5.5.2/pmd-bin-5.5.2.zip
来自:开源中国社区

