PMD 6.43.0 发布,代码分析器
PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。
PMD 6.43.0 正式发布,本次更新内容如下:
修复问题
- core
- doc
- java
- #3698: [java] try-with-resources 解析错误
- java-bestpractices
- #3605: [java] 当默认情况存在时,SwitchStmtsShouldHaveDefault 会被触发
- java-codestyle
- #278: [java] ConfusingTernary 应该把
!= null当作正向条件
- #278: [java] ConfusingTernary 应该把
- java-performance
- #3374: [java] UseStringBufferForStringAppends: 文档中的示例不对
- misc
- #3759: [lang-test] 升级 dokka maven 插件至 1.4.32
- plsql
- #3746: [plsql] 解析 DML 语句中 "Less than or equal to/Greater than or equal to" 运算符的异常
弃用的 API
在核心 PMD 类中进行了一些 API 的废弃,以提高与 PMD 7 的兼容性。
report:构造函数和其他构造方法,如 addViolation 或 createReportRuleContext:所有构造函数、getters 和 setters。在 PMD 7 中,RuleContext将 是报告违规行为的 API- 字段
configuration是未使用的,将被删除
内部 API
这些 API 将在 PMD 7.0 中被隐藏或删除。
RuleSet:用于应用规则的方法,包括apply、start、end、removeDysfunctionalRuleAbstractAccumulatingRenderer#renderFileReport是内部 API 而不应该在自己的渲染器中被重写
更多详情可查看:https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.43.0