更新時(shí)間:2021-11-16 11:02:03 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽4714次
DeepSource提供了可能是您能找到的最好的 Java 靜態(tài)代碼分析。該DeepSource的Java分析儀檢測(cè)190多個(gè)代碼的質(zhì)量問(wèn)題,包括性能的bug,安全風(fēng)險(xiǎn),錯(cuò)誤的風(fēng)險(xiǎn),和反模式。目前,它支持 Gradle Java 項(xiàng)目,未來(lái),DeepSource 也會(huì)增加對(duì) Maven 和 Android 的支持。DeepSource 還致力于為 Java 分析器提供 Autofix 支持,這將使開(kāi)發(fā)人員無(wú)需編寫(xiě)任何代碼行即可修復(fù)問(wèn)題。
特征
檢測(cè) 170 多個(gè)代碼質(zhì)量問(wèn)題。
當(dāng)前支持 OpenJDK 版本 8 到 14。
集成: Gradle
許可:免費(fèi)供開(kāi)源、學(xué)生和非營(yíng)利組織使用。付費(fèi)計(jì)劃從 12 美元用戶(hù)/月開(kāi)始。
SonarQube是 Java 靜態(tài)代碼分析工具的開(kāi)源套件,它結(jié)合了 FindBugs 和 PMD 等工具的特性。SonarQube 具有非常直觀的儀表板,可以維護(hù)歷史記錄,以幫助開(kāi)發(fā)人員隨時(shí)間跟蹤 Java 代碼質(zhì)量。SonarQube 使用模式匹配和數(shù)據(jù)流分析等高級(jí)技術(shù)來(lái)分析代碼并識(shí)別代碼異味、錯(cuò)誤和安全漏洞。
特征
它有 597 條規(guī)則來(lái)檢測(cè)各種代碼質(zhì)量問(wèn)題。
最多支持 14 個(gè) Java 語(yǔ)言版本。
集成: Maven、Gradle、Ant。
許可:社區(qū)版是免費(fèi)和開(kāi)源的。商業(yè)版的許可證起價(jià)為 120 歐元。
SpotBugs是 FindBugs 的繼任者。它是一種 Java 靜態(tài)代碼分析工具,可檢查 JVM 字節(jié)碼并通過(guò)識(shí)別編碼缺陷來(lái)發(fā)現(xiàn)潛在錯(cuò)誤和安全漏洞的痕跡。這些缺陷被報(bào)告為警告,但并非所有報(bào)告的警告都必然是缺陷,例如,涉及可能的性能問(wèn)題的警告。最新版本報(bào)告了400多個(gè)警告,所有警告分為四個(gè)等級(jí):(i)最可怕,(ii)可怕,(iii)令人不安,(iv)關(guān)注。
特征
檢測(cè)代碼中的 400 多個(gè)錯(cuò)誤模式。
SpotBugs 需要 JRE(或 JDK)1.8.0 或更高版本才能運(yùn)行。但是,它可以分析為任何版本的 Java 編譯的程序,從 1.0 到 1.9。
集成: Ant、Maven、Gradle。
許可: 免費(fèi)和開(kāi)源
PMD分析 Java 源代碼,使用其規(guī)則列表對(duì)其進(jìn)行驗(yàn)證,并向用戶(hù)報(bào)告違規(guī)行。PMD 可以確定常見(jiàn)問(wèn)題,例如密碼和 IP 地址的硬編碼、使用forEach循環(huán)代替?zhèn)鹘y(tǒng)for循環(huán),以及似乎違反德米特法則或?qū)嵤┥系垲?lèi)反模式的代碼。
特征
超過(guò) 250 條規(guī)則來(lái)檢測(cè) Java 中的問(wèn)題。
語(yǔ)言支持直到 Java 13
集成: Maven、Gradle。
許可: 免費(fèi)和開(kāi)源
EclEmma(基于 JaCoCo 庫(kù))是 Eclipse 的免費(fèi) Java 代碼覆蓋工具。它是一個(gè)用于在 Java 代碼庫(kù)中測(cè)量代碼覆蓋率并通過(guò)可視化報(bào)告呈現(xiàn)覆蓋率數(shù)據(jù)的工具包。它突出顯示代碼行和執(zhí)行代碼的總百分比,并跟蹤行和分支覆蓋率。EclEmma 幫助開(kāi)發(fā)人員評(píng)估未經(jīng)充分測(cè)試的代碼,并專(zhuān)注于低覆蓋區(qū)域。它支持 3 種類(lèi)型的報(bào)告格式:HTML、XML 和 CSV。
特征
支持從 1.0 到 14 版本的 Java 類(lèi)文件。
集成: Ant、Maven。
許可: 免費(fèi)和開(kāi)源
Checkstyle是一個(gè) Java 靜態(tài)分析工具,可幫助開(kāi)發(fā)人員在企業(yè)內(nèi)自動(dòng)執(zhí)行定義樣式指南和實(shí)施編碼標(biāo)準(zhǔn)的過(guò)程。Checkstyle 識(shí)別違反的規(guī)則,并幫助他們使用 Eclipse、IntelliJ IDEA 或 NetBeans 等 IDE 修復(fù)和重新格式化代碼。違規(guī)類(lèi)別包括通配符導(dǎo)入和通用令牌周?chē)目崭袷褂谩?/p>
特征
超過(guò) 180 項(xiàng)檢查以強(qiáng)制執(zhí)行 Java 編碼風(fēng)格。
Java 14 之前的語(yǔ)言支持。
集成: Ant、Maven。
許可: 免費(fèi)和開(kāi)源
JArchitect是一個(gè) Java 靜態(tài)分析工具,用于評(píng)估代碼指標(biāo),例如方法參數(shù)的數(shù)量、變量和代碼行數(shù)、圈復(fù)雜度、傳入和傳出耦合等。它測(cè)量、查詢(xún)和可視化您的代碼,避免意外問(wèn)題、技術(shù)債務(wù)和復(fù)雜性。
特征
從 Java 8 到 13 的語(yǔ)言支持。
超過(guò)450條規(guī)則。
集成: Maven、Gradle、Ant。
許可: 14 天免費(fèi)試用,非商業(yè)開(kāi)源軟件項(xiàng)目免費(fèi)開(kāi)源許可,個(gè)人許可 - 149 美元,開(kāi)發(fā)者版 - 299 美元,Build Machine - 549 美元。在此處提交表格以獲取 JArchitect 的相關(guān)定價(jià)和信息。
JUnit是用于 Java 開(kāi)發(fā)項(xiàng)目的流行單元測(cè)試框架,它允許開(kāi)發(fā)人員為 Java 8 及更高版本編寫(xiě)和運(yùn)行單元測(cè)試。JUnit 使用簡(jiǎn)單而強(qiáng)大的斷言語(yǔ)句測(cè)試代碼的狀態(tài)和行為。JUnit 很容易上手,并且它為更復(fù)雜的場(chǎng)景提供了使用注解的各種附加功能。
特征
JUnit 5(最新版本)在運(yùn)行時(shí)需要 Java 8(或更高版本)。
集成: Maven、Gradle、Ant
許可: 免費(fèi)和開(kāi)源
除了上述外,Java開(kāi)發(fā)工具還有很多,大家在以后的學(xué)習(xí)中都會(huì)遇到。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)