温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PMD 6.36.0的示例分析

发布时间:2021-07-02 09:23:03 来源:亿速云 阅读:131 作者:小新 栏目:编程语言

这篇文章主要介绍PMD 6.36.0的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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,以更好地反映该规则实际检测的内容。

修正的问题

(1)apex

避免调试语句,因为它影响性能;

新增规则,以检测不可访问的 AuraEnabled 获取器;

CognitiveComplexity - "else if" 的增量不正确;

(2)core

错误加载样式表 cpdhtml.xslt;

在 SARIF 报告中添加 fullDescription 和标签;

(3)java-bestpractices

#3340: [java] NullPointerException applying rule GuardLogStatement

(4)java-bestpractices

GuardLogStatement:编译时常量参数误报

UnusedAssignment 在增量 expr 中使用时报告未使用的变量;

UnusedAssignment 在报告未使用的变量时误报;

LiteralsFirstInComparisons 两个常量的误报;

JUnitTestsShouldIncludeAssert 应该支持 Junit 5;

NullPointerException 应用规则 GuardLogStatement;

(5)java-代码样式

更新 UnnecessaryImport 以识别 javadoc @exception 标签中导入类型的用法;

以上是“PMD 6.36.0的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

pmd
AI