PMD 5.5.3/5.4.4 发布了。PMD 是一款采用 BSD 协议发布的 Java 程序代码检查工具。该工具可以做到检查 Java 代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是 Java 程序员 debug 的好帮手。
PMD 5.5.3 更新内容:
最重要的更改是在分析性能方面和一个全新的 Apex 安全规则集。
Apex 安全规则集
增加了一个专注于安全性的新规则集,其中包含大量规则来检测最常见的安全问题。
ApexBadCrypto
public class without sharing Foo { Blob hardCodedIV = Blob.valueOf('Hardcoded IV 123'); Blob hardCodedKey = Blob.valueOf('0000000000000000'); Blob data = Blob.valueOf('Data to be encrypted'); Blob encrypted = Crypto.encrypt('AES128', hardCodedKey, hardCodedIV, data); }
ApexCRUDViolation
public class Foo { public Contact foo(String status, String ID) { Contact c = [SELECT Status__c FROM Contact WHERE Id=:ID]; // Make sure we can update the database before even trying if (!Schema.sObjectType.Contact.fields.Name.isUpdateable()) { return null; } c.Status__c = status; update c; return c; } }
详细内容及下载地址点击发行说明进行查看
PMD 5.4.4 更新内容:
这是一个 bug 修复版本,没有引入任何主要的更改,最重要的变化是在分析性能方面。
已被修改的规则
Java 规则 "UseLocaleWithCaseConversions"(ruleset java-design)已被修改,以检测对方法调用链中对
toLowerCase
和toUpperCase
的调用。这导致更多的检测到的情况和潜在的新的假阳性。
修复的 Bug — bugfix #1556.
详细内容及下载地址点击发行说明进行查看