PMD 6.43.0 釋出,程式碼分析器

2022-02-28 09:00:23

PMD 是一個程式碼分析器,能夠幫助發現常見的程式設計問題,比如未使用的變數、空的 catch 塊、不必要的物件建立等等。最初僅支援 Java 程式碼,目前還可支援 JavaScript、: [core] 在因引數無效而退出時,停止列印 CLI 使用文字

  • : [core] SARIF 格式化器在應該報告多個結果時報告多個位置
  • doc
    • : [doc] 在右側新增浮動的 table-of-contents (toc)
    • : [doc] 記錄 Ant Task 的引數 threads
  • java
    • : [java] try-with-resources 解析錯誤
  • java-bestpractices
    • : [java] 當預設情況存在時,SwitchStmtsShouldHaveDefault 會被觸發
  • java-codestyle
    • : [java] ConfusingTernary 應該把 != null 當作正向條件
  • java-performance
    • : [java] UseStringBufferForStringAppends: 檔案中的範例不對
  • misc
    • : [lang-test] 升級 dokka maven 外掛至 1.4.32
  • plsql
    • : [plsql] 解析 DML 語句中 "Less than or equal to/Greater than or equal to" 運運算元的異常
  • 棄用的 API

    在核心 PMD 類中進行了一些 API 的廢棄,以提高與 PMD 7 的相容性。

    • report :建構函式和其他構造方法,如 addViolation 或 createReport
    • RuleContext :所有建構函式、getters 和 setters。在 PMD 7 中, RuleContext 將 是報告違規行為的 API
    • 欄位 configuration 是未使用的,將被刪除

    內部 API

    這些 API 將在 PMD 7.0 中被隱藏或刪除。

    • RuleSet :用於應用規則的方法,包括 applystartendremoveDysfunctionalRule
    • AbstractAccumulatingRenderer#renderFileReport 是內部 API 而不應該在自己的渲染器中被重寫

    更多詳情可檢視:

    展開閱讀全文