您现在的位置是:首页 > 文章详情

PMD 6.34.0 发布,多语言静态代码自动分析工具

日期:2021-04-25点击:599

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 取代了以下规则 UnusedImportsDuplicateImportsImportFromSamePackageDontImportJavaLang,该规则也是 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

原文链接:https://www.oschina.net/news/139120/pmd-6-34-0-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章