以下這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-libraryGradle還有可用於新增新的語言,生成支援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這個大世界中正在不斷湧現新的工具、實用程式和庫。如果你的首選工具沒能進入上述名單,歡迎分享。
評論(1)