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

栏目: 软件资讯 · 发布时间: 4年前

内容简介: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.36.0 正式发布,本次更新内容如下:

改进的增量分析

长期以来,增量分析一直帮助我们的用户获得了更快的分析结果,然而,它的实现在检测运行时和类型解析类路径的变化时往往过于谨慎,产生不必要的缓存失效。我们现在已经改进了启发式方法,以消除一些错误的无效,并略微加快了缓存的的使用。

PMD 现在将忽略:

  • 类路径中的非类文件和被引用的 jar/zip 文件;
  • 更改 jar / zip 中文件条目的顺序;
  • jar / zip 中文件元数据的更改;

新规则

  • 新的 Apex 规则[AvoidDebugStatements](<https://pmd.github.io/pmd-6.36.0/pmd_rules_apex_performance.html#avoiddebugstatements>)System.debug 查找 System.debug 调用的用法。即使没有捕获调试日志,调试语句也会导致更长的事务并消耗 Apex CPU 时间。

    你可以像这样尝试这个规则:

    <rule ref="category/apex/performance.xml/AvoidDebugStatements" />

  • 新的 Apex 规则[InaccessibleAuraEnabledGetter](<https://pmd.github.io/pmd-6.36.0/pmd_rules_apex_errorprone.html#inaccessibleauraenabledgetter>)AuraEnabled 检查 AuraEnabled 获取器是公共的还是全局的。

    你可以像这样尝试这个规则:

    <rule ref="category/apex/errorprone.xml/InaccessibleAuraEnabledGetter" />

重命名的规则

  • Java 规则 BadComparison 已被重命名为 ComparisonWithNaN,以更好地反映该规则实际检测的内容。

修正的问题

  • apex
    • 避免调试语句,因为它影响性能;
    • 新增规则,以检测不可访问的 AuraEnabled 获取器;
    • CognitiveComplexity - "else if" 的增量不正确;
  • core
    • 错误加载样式表 cpdhtml.xslt;
    • 在 SARIF 报告中添加 fullDescription 和标签;
  • java-bestpractices
    • #3340: [java] NullPointerException applying rule GuardLogStatement
  • java-bestpractices
    • GuardLogStatement:编译时常量参数误报
    • UnusedAssignment 在增量 expr 中使用时报告未使用的变量;
    • UnusedAssignment 在报告未使用的变量时误报;
    • LiteralsFirstInComparisons 两个常量的误报;
    • JUnitTestsShouldIncludeAssert 应该支持 Junit 5;
    • NullPointerException 应用规则 GuardLogStatement;
  • java-代码样式
    • 更新 UnnecessaryImport 以识别 javadoc @exception 标签中导入类型的用法;

更多详情可查看:https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.36.0


以上所述就是小编给大家介绍的《PMD 6.36.0 发布,多语言静态代码自动分析工具》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据库系统实现

数据库系统实现

加西亚-莫利纳(Hector Garcia-Molina)、Jeffrey D.Ullman、Jennifer Widom / 杨冬青、吴愈青、包小源 / 机械工业出版社 / 2010-5 / 59.00元

《数据库系统实现(第2版)》是斯坦福大学计算机科学专业数据库系列课程第二门课的教科书。书中对数据库系统实现原理进行了深入阐述,并具体讨论了数据库管理系统的三个主要成分——存储管理器、查询处理器和事务管理器的实现技术。此外,第2版充分反映了数据管理技术的新进展,对内容进行了扩充,除了在第1版中原有的“信息集成”一章(第10章)中加入了新的内容外,还增加了两个全新的章:“数据挖掘”(第11章)和“数据......一起来看看 《数据库系统实现》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

SHA 加密
SHA 加密

SHA 加密工具