PMD 6.34.0 发布,多语言静态代码自动分析工具
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PDFsam Basic 4.2.4 发布,PDF 文档多功能处理工具
PDFsam Basic 是一款免费的、开源的、跨平台使用的 PDF 文档处理软件,可对 PDF 文件进行分割、合并、提取页面、混合和旋转等处理。 PDFsam Basic 近日发布了最新的 4.2.4 版本,更新信息如下: 解决了 selection table 按文件名排序的问题 更新的翻译 升级的Sejda 将捆绑的 Java 升级到版本 11.0.11 更新说明:https://github.com/torakiki/pdfsam/releases/tag/v4.2.4
- 下一篇
SeaweedFS 2.41 发布,分布式文件系统
SeaweedFS 是一个简单且高度可扩展的分布式文件系统,主要有两个目标:存储数十亿的文件和快速响应。 目前,SeaweedFS 2.41已发布,该版本更新内容如下: FUSE mount 延迟新文件的创建,直到文件被关闭,除非文件被专门打开 Volume Server Erasure Code: transient errors 可能会导致 thundering herd effect#2012 当 below minFreeSpacePercent时,不要添加新的 volumes#2017 Filer 删除文件夹时,Mysql/Postgres 数据库中可能有一些遗留条目#2006 Minor Filer 目录列表增加了namePatternExclude#2023 Filer 目录列表可确保在检查名称模式时区分大小写 weed shelllock 显示哪个服务器 holds the lock#1983 weed filer.copy包含空文件夹#2016 volume server 正确报告错误#2012 更新说明:https://github.com/chrislusf/se...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题