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

来源: OSCHINA
编辑: Alias_Travis
2021-03-29

PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。

PMD 6.33.0 正式发布,本次更新内容如下:

新特性和值得注意的地方:

  • PLSQL 解析排除

    PMD PLSQL 解析器可能无法顺利解析每个有效的 PL/SQL 代码。为了在这样的文件上仍然使用 PMD,你现在可以将某些行标记为从解析器中排除。

外部贡献:

  • #3161: [plsql] 在 SQL*Plus 脚本中添加了对词法参数的支持,允许排除解析器无法理解的行;
  • #3167: [java] 改正快速入门规则集中的错别字。

修复的问题:

  • apex-design
    • #3142: [apex] ExcessiveClassLength 在同一个类上有多个警告;
  • java
    • #3117: [java] 解析嵌套在 lambdas 中的无效代码时的无限循环;
    • #3145: [java] 使用"record"作为变量名时出现解析异常;
  • java-bestpractices
    • #3118: [java] UnusedPrivateMethod 在将 lombok.val 作为参数传递时误报;
    • #3144: [java] GuardLogStatement 可以有更详细的例子;
    • #3155: [java] GuardLogStatement:未加防护的方法调用时出现漏报;
    • #3160: [java] MethodReturnsInternalArray 不考虑静态最终字段和以空数组初始化的字段;
  • java-errorprone
    • #3146: [java] 当使用 String.format 时,InvalidLogMessageFormat 检测失败;
    • #3148: [java] CloseResource 带有 Objects.nonNull 的误报;
    • #3165: [java] 在变量中使用 String.format 时,InvalidLogMessageFormat 检测失败;
  • java-performance
    • #2427: [java] ConsecutiveLiteralAppend 在 lambda 内部带有 builder 的误报;
    • #3152: [java] ConsecutiveLiteralAppends 和 InsufficientStringBufferDeclaration:带有 switch 表达式的 FP
  • plsql
    • #195: [plsql] “&”符号在 SQL 文件中引起 PMD 处理错误——文件中的词法错误。

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

展开阅读全文
4 收藏
分享
加载中
最新评论 (1)
PMD 使用还是很频繁,经常要用到他,加油加油。
2021-03-29 19:52
0
回复
举报
更多评论
1 评论
4 收藏
分享
返回顶部
顶部