現在有很多實用工具和程式任 Java 開發人員選擇。每個工具都有其優點,但其中有一些因它的知名度、多功能性和有效性從眾多選項中脫穎而出。
以下這 8 個工具,從代碼構建到錯誤擠壓,覆蓋 Java 開發的全域。學習這些工具可以幫助你改善質量,成為一個更高效的 Java 開發人員。
- 1.Eclipse
儘管 IntelliJ IDEA、NetBeans 和一些其他的 IDE 正在日益普及,但是有調查表明,Eclipse 仍然是幾乎半數 Java 開發人員首選的開發環境。Eclipse 是 IDE 領域的瑞士軍刀,有著大量定制的接口和無數的插件。它無處不在,後面本文將推薦的其他所有工具都提供 Eclipse 插件。
Eclipse 的工作流程可分為三個方面:工作台,工作空間和視角。工作台作為到 IDE 的出發點。工作空間將項目、文件和配置設置組合在一個單獨的目錄下。視角定義工具、視圖和有效設置。雖然新手開發人員可能會覺得相比 Netbeans 和 IntelliJ IDEA,Eclipse 使用起來更難,但 Eclipse 的靈活性,使其成為企業開發的首選 IDE。
Luna,Eclipse 的最新版本,支持 Java 8、分屏編輯、新的黑色主題,以及一個功能齊全的命令行終端。
官方網站:https://eclipse.org/
- 2.Gradle
Gradle 是一個自動化項目工具,建立在 Apache Maven 和 Apache Ant 的功能上。雖然 Gradle 並不是最流行的構建工具(最流行的是 Maven,64%的 Java 開發人員會選擇它),但它的普及速度很快。它也可作為默認的 Android 構建工具。
Gradle 引以為傲的是它的簡單。Gradle 使用 Groovy 編程語言,與 Maven 和 Ant 使用 XML 語法截然相反。一個基本的 Gradle 構建文件由一行簡單的代碼組成:
apply plugin: 'java'.
下面的命令會生成一個 Gradle 構建文件,創建項目文件的目錄樹,並附帶一個項目便攜式 Gradle 封裝:
$ gradle init --type java-library
Gradle 還有可用於添加新的語言,生成支持 IDE 的項目文件,構建本地二進製文檔,檢查依賴性更新等等的插件。
想要了解更多信息,請參見Gradle 的 Java / JVM 入門指南。
官方網站:https://gradle.org/
- 3.Javadoc
Javadoc 是 Oracle 提供的文檔生成器。它可以將特殊格式的註釋解析為 HTML 文檔。以下截圖就是 Javadoc 生成的 Java SE 8 API 規範:
Javadoc 註釋使用開放標籤、關閉標籤,以及一個或多個描述性標籤的格式。開放式標籤類似於標準 Java 多行註釋標記,使用兩個星號的除外。Javadoc 也解析普通的 HTML 標籤。
Javadoc 自動格式化標籤和關鍵字,除非另有規定。Javadoc 廣泛使用超鏈接,允許你參考和鏈接到代碼的不同區域。許多 IDE——包括 Eclipse——可以自動添加 Javadoc 註釋模塊到變量、類和方法中。支持 Maven、Gradle 和 Ant 的插件在編譯代碼的同時也可以構建 Javadoc HTML。
想要了解更多信息,請參閱 Oracle 關於如何為 Javadoc 工具寫文檔註釋的文章。
官方網站:http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html
- 4.JUnit
JUnit 是用於編寫和運行單元測試的開源框架。一個基本的 JUnit 測試包括測試類、測試方法、以及執行測試的功能。JUnit 使用標註來確定測試如何構造和運行。例如,如果你的程序有一個類叫做 MathClass,具有乘法和除法的方法,你可以創建 JUnit 測試來檢查不符合預期的值。輸入數字 2 和 5 到乘法方法,你希望得到的結果為 10。當輸入 0 作為除法方法的第二個參數時,你會期望給出一個數字計算異常的警告因為除數不能為 0:
@Test 標註規定,MathClass 方法是一個測試用例。在 JUnit 提供額外的標註,比如@Before,這樣你就可以在測試運行之前設置環境。JUnit 還可以設置規則用於定義測試方法的行為。例如,TemporaryFolder 規則使得一旦測試完成,由測試創建的文件或文件夾就會被刪除。
想要了解更多信息,請參考JUnit 入門。此外還有使用 JUnit 單元測試的教程。
官方網站:http://junit.org/
- 5.Cobertura
Cobertura 可用於分析 Java 代碼的測試覆蓋率。Cobertura 根據沒有被測試覆蓋的代碼生成基於 HTML 的報告。
Cobertura 提供可用於插裝、檢查和測試代碼的工具。通過監控可測試的代碼,Cobertura 允許你使用你選擇的測試框架,甚至不需要測試框架就可以運行程序。
Cobertura 根據行、分支和程序包三個方面給出代碼覆蓋報告。每個類別都有一個可自定義的閾值,如果覆蓋面低於閾值,就會觸發警告。Cobertura 還集成了 Maven 和 Gradle 的自動檢測功能。
Mkyong.com 提供了一個將 Cobertura 與 Maven 整合的示例。
官方網站:http://cobertura.github.io/cobertura/
- 6.FindBugs
FindBugs 是一個匹配編譯代碼模式,而非使用 bug 數據庫的工具。當提供源代碼時,FindBugs 還可高亮顯示檢測出 bug 的代碼行。
在它的 3.0.1 版本中,FindBugs 繼續保持著數以百計的 bug 描述。根據 bug 的嚴重程度,FindBugs 將 bug 分為四個水平:相關的,令人困擾的,可怕的,以及最可怕的。除了圖形用戶界面,FindBugs 還提供一個命令行界面,Ant 任務,以及 Eclipse 插件。
官方網站:http://findbugs.sourceforge.net/
- 7.VisualVM
包含在 JDK 中的 VisualVM 是監控和審查 Java 應用程序性能的工具。VisualVM 檢測並重視活躍的 JVM 實例來檢索有關進程的診斷信息。
VisualVM 可以很容易地實時診斷性能問題。它提供了全套的分析工具,包括 JConsole、jstack、jmap、jinfo 和 jstat 等。此外,你還可以對 JVM 做一個快照,這樣以後在任何時都能審查。
官方網站:http://visualvm.java.net/
- 8.Groovy
Groovy 是一種編程語言,通過添加新的關鍵字,自動導入常用的類,以及可選類型變量聲明,既簡化又擴展了 Java。
Groovy 的核心優勢之一是它的腳本功能。類可以被編譯為 Java 字節碼或使用 Groovy Shell 動態執行。Groovy 的 Java 基礎使得它相較於 Jython 和 JRuby 更容易為 Java 開發人員所接受。
想要了解更多信息,請參見Groovy 的入門指南。
官方網站:http://www.groovy-lang.org/
- 其他選擇
Java 這個大世界中正在不斷湧現新的工具、實用程序和庫。如果你的首選工具沒能進入上述名單,歡迎分享。
譯文鏈接:http://www.codeceo.com/article/8-java-toolkit.html,未經授權不得轉載
英文原文:8 Tools for Every Java Developer’s Toolkit
翻譯作者:碼農網 – 王國峰