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
,以更好地反映该规则实际检测的内容。
修正的问题
- 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
标签中导入类型的用法;
- 更新 UnnecessaryImport 以识别 javadoc
更多详情可查看:https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.36.0

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Xmacs v2021.1-alpha 已经发布,GNU TeXmacs 发行版
Xmacs v2021.1-alpha 已经发布,GNU TeXmacs 发行版 此版本更新内容包括: Xmacs v2021.1-alpha只提供Windows安装包,不推荐新用户下载使用。 重要变更 基于GNU TeXmacs 2.1 使用 Qt 5.15.2 详细变更 下载安装之后,请阅读文档: Help -> Xmacs 下载安装 平台 下载地址 md5 Windows Gitee下载 f024b5d0b7d222445344ee4a287ea49f 详情查看:https://gitee.com/xmacs/Xmacs/releases/v2021.1-alpha
- 下一篇
IntelliJ IDEA 2021.2 EAP 5 发布
IntelliJ IDEA 2021.2 EAP 5 现已发布。此版本引入了对 GPG 签名的支持、VCS 的 UI 更新、Space integration改进,以及一些其他更新内容。 具体更新亮点如下: GPG signature for commits 在新项目中使用“Changes”替代“Default Changelist” IntelliJ IDEA 一直使用 Default Changelist 作为存储所有未提交修改的节点的名称。在这个 EAP 中,将使用 Changes 这个词来代替 Default Changelist,使措辞更加精确。这个更新将影响你的新项目。 另一个值得注意的变化是,IDE 将不再为 Git 操作自动添加 changelists。因此,例如,cherry-pick 不会触发 changelists 的创建。 将支持的最低 Git 版本增加到 2.17 可以在 Space reviews 中 @ 你的伙伴 Space 代码审查中的分支显示 更多详情可查看:https://blog.jetbrains.com/idea/2021/06/intelli...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器