Java小編分享幾款Java代碼質量檢查工具


1.DeepSource

DeepSource提供了可能是您能找到的最好的 Java 靜態代碼分析。該DeepSource的Java分析儀檢測190多個代碼的質量問題,包括性能的bug,安全風險,錯誤的風險,和反模式。目前,它支持 Gradle Java 項目,未來,DeepSource 也會增加對 Maven 和 Android 的支持。DeepSource 還致力於為 Java 分析器提供 Autofix 支持,這將使開發人員無需編寫任何代碼行即可修復問題。

 

特征

 

檢測 170 多個代碼質量問題。

 

當前支持 OpenJDK 版本 8 到 14。

 

集成: Gradle

 

許可:免費供開源、學生和非營利組織使用。付費計划從 12 美元用戶/月開始。

 

2.SonarQube

SonarQube是 Java 靜態代碼分析工具的開源套件,它結合了 FindBugs 和 PMD 等工具的特性。SonarQube 具有非常直觀的儀表板,可以維護歷史記錄,以幫助開發人員隨時間跟蹤 Java 代碼質量。SonarQube 使用模式匹配和數據流分析等高級技術來分析代碼並識別代碼異味、錯誤和安全漏洞。

 

特征

 

它有 597 條規則來檢測各種代碼質量問題。

 

最多支持 14 個 Java 語言版本。

 

集成: Maven、Gradle、Ant。

 

許可:社區版是免費和開源的。商業版的許可證起價為 120 歐元。

 

3.SpotBugs

SpotBugs是 FindBugs 的繼任者。它是一種 Java 靜態代碼分析工具,可檢查 JVM 字節碼並通過識別編碼缺陷來發現潛在錯誤和安全漏洞的痕跡。這些缺陷被報告為警告,但並非所有報告的警告都必然是缺陷,例如,涉及可能的性能問題的警告。最新版本報告了400多個警告,所有警告分為四個等級:(i)最可怕,(ii)可怕,(iii)令人不安,(iv)關注。

 

特征

 

檢測代碼中的 400 多個錯誤模式。

 

SpotBugs 需要 JRE(或 JDK)1.8.0 或更高版本才能運行。但是,它可以分析為任何版本的 Java 編譯的程序,從 1.0 到 1.9。

 

集成: Ant、Maven、Gradle。

 

許可: 免費和開源

 

4.PMD

PMD分析 Java 源代碼,使用其規則列表對其進行驗證,並向用戶報告違規行。PMD 可以確定常見問題,例如密碼和 IP 地址的硬編碼、使用forEach循環代替傳統for循環,以及似乎違反德米特法則或實施上帝類反模式的代碼。

 

特征

 

超過 250 條規則來檢測 Java 中的問題。

 

語言支持直到 Java 13

 

集成: Maven、Gradle。

 

許可: 免費和開源

 

5.EclEmma

EclEmma(基於 JaCoCo 庫)是 Eclipse 的免費 Java 代碼覆蓋工具。它是一個用於在 Java 代碼庫中測量代碼覆蓋率並通過可視化報告呈現覆蓋率數據的工具包。它突出顯示代碼行和執行代碼的總百分比,並跟蹤行和分支覆蓋率。EclEmma 幫助開發人員評估未經充分測試的代碼,並專注於低覆蓋區域。它支持 3 種類型的報告格式:HTML、XML 和 CSV。

 

特征

 

支持從 1.0 到 14 版本的 Java 類文件。

 

集成: Ant、Maven。

 

許可: 免費和開源

 

6.Checkstyle

Checkstyle是一個 Java 靜態分析工具,可幫助開發人員在企業內自動執行定義樣式指南和實施編碼標准的過程。Checkstyle 識別違反的規則,並幫助他們使用 Eclipse、IntelliJ IDEA 或 NetBeans 等 IDE 修復和重新格式化代碼。違規類別包括通配符導入和通用令牌周圍的空格使用。

 

特征

 

超過 180 項檢查以強制執行 Java 編碼風格。

 

Java 14 之前的語言支持。

 

集成: Ant、Maven。

 

許可: 免費和開源

 

7.JArchitect

JArchitect是一個 Java 靜態分析工具,用於評估代碼指標,例如方法參數的數量、變量和代碼行數、圈復雜度、傳入和傳出耦合等。它測量、查詢和可視化您的代碼,避免意外問題、技術債務和復雜性。

 

特征

 

從 Java 8 到 13 的語言支持。

 

超過450條規則。

 

集成: Maven、Gradle、Ant。

 

許可: 14 天免費試用,非商業開源軟件項目免費開源許可,個人許可 - 149 美元,開發者版 - 299 美元,Build Machine - 549 美元。在此處提交表格以獲取 JArchitect 的相關定價和信息。

 

8.JUnit

JUnit是用於 Java 開發項目的流行單元測試框架,它允許開發人員為 Java 8 及更高版本編寫和運行單元測試。JUnit 使用簡單而強大的斷言語句測試代碼的狀態和行為。JUnit 很容易上手,並且它為更復雜的場景提供了使用注解的各種附加功能。

 

特征

 

JUnit 5(最新版本)在運行時需要 Java 8(或更高版本)。

 

集成: Maven、Gradle、Ant

 

許可: 免費和開源

 

除了上述外,Java開發工具還有很多,大家在以后的學習中都會遇到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM