内容简介:PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、A...
PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。
PMD 6.34.0 正式发布,本次更新内容如下:
新规则
- 新的 Java 规则
UseStandardCharsets
可以查看Charset.forName.
的使用情况,因此可以使用StandardCharsets
来代替,该规则也是 Java 快速启动规则集(rulesets/java/quickstart.xml
)的一部分; - 新的 Java 规则
UnnecessaryImport
取代了以下规则UnusedImports
、DuplicateImports
、ImportFromSamePackage
和DontImportJavaLang
,该规则也是 Java 快速启动规则集(rulesets/java/quickstart.xml
)的一部分;
修改后的规则
- Apex 规则
ApexCRUDViolation
不再忽略 getters,并且还标记了 SOQL/SOSL/DML 操作在 getters 中没有访问许可检查。这对于 VF getter 方法将产生误报,但我们无法可靠地检测一个 getter 是否是 VF getter。在这种情况下,违规行为应该被制止。
废弃的规则
- java-bestpractices
UnusedImports
: 使用UnnecessaryImport
规则代替
- java-codestyle
DuplicateImports
:使用UnnecessaryImport
规则来代替。DontImportJavaLang
:使用UnnecessaryImport
规则来代替。
- java-errorprone
ImportFromSamePackage
:使用UnnecessaryImport
规则来代替。
修正的问题
- apex-performance
- OperationWithLimitsInLoopRule: 支持更多限制消耗的静态方法调用
- apex-security
- ApexCRUDViolationRule 未能报告 COUNT() 查询中的 CRUD 违规情况;
- ApexCRUDViolationRule 在非 VF getter 上误报;
- java-bestpractices
- 使用
StandardCharsets
而不是Charset.forName
; - UnusedAssignment 在有嵌套记录时崩溃;
- 使用
- java-codestyle
- 新规则 UnnecessaryImport,弃用 DuplicateImports、 ImportFromSamePackage、UnusedImports;
- java-errorprone
- CloseResource: 支持 Lombok 注解;
- CheckSkipResult: 使用模式绑定时的 NPE;
更多详情可查看:https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.34.0
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 静态代码检查工具 cppcheck
- 解读Java静态代码块和构造代码块
- 微服务测试之静态代码扫描
- Android 静态代码扫描效率优化与实践
- Java类 静态代码块、构造代码块、构造函数初始化顺序
- 客户端JavaScript代码的静态分析方法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。