每個Java程式設計師必備的8個開發工具
本文由碼農網 – 王國峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
現在有很多庫、實用工具和程式任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
翻譯作者:碼農網 – 王國峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 每個Java程式設計師需要了解的8個Java開發工具Java程式設計師
- 15款Java程式設計師必備的開發工具Java程式設計師
- Java程式設計師必備的6款最佳開發工具Java程式設計師
- 程式設計師和設計師必備的20個CSS工具程式設計師CSS
- 每個程式設計師必知之SEO程式設計師
- 【ChatGPT】每個程式設計師百寶箱必備的語言模型ChatGPT程式設計師模型
- 每個優秀程式設計師必須具備的技術技能程式設計師
- Java程式設計師必備的工具和框架Java程式設計師框架
- 12 個 Web 設計師必備的 Bootstrap 工具Webboot
- 12個Web設計師必備的Bootstrap工具Webboot
- 每個Java程式設計師必須知道的5個JVM命令列標誌Java程式設計師JVM命令列
- 這十五本Python書籍!是每個程式設計師必備的!Python程式設計師
- Java程式設計師必備的10個大資料框架!Java程式設計師大資料框架
- 每個程式設計師都必須遵守的程式設計原則程式設計師
- 每個程式設計師和設計師必做的10項運動程式設計師
- 每個程式設計師都必讀的10篇文章程式設計師
- 8個開發必備的PHP功能PHP
- 好程式設計師:一個Java高階工程師的必備技能程式設計師Java工程師
- 十個必備的設計師APPAPP
- 優秀程式設計師必備的10個技能程式設計師
- 作為一個Java程式設計師,這 8 個開源類庫你必須知道!Java程式設計師
- Java程式設計師必備技能Java程式設計師
- 程式猿必備的10個移動開發工具移動開發
- 每個程式設計師1小時內必須解決的5個程式設計問題程式設計師
- Java開發需要掌握哪些技術?Java程式設計師必備技能Java程式設計師
- 程式設計師必備基礎:改善Java程式的20個實用建議程式設計師Java
- 一個合格的程式設計師,需要哪些必備技能?程式設計師
- JavaScript程式設計師必備的5個debug技巧JavaScript程式設計師
- Mac程式設計師開發必備的SVN管理工具:Cornerstone for MacMacC程式程式設計師
- 乾貨總結!每個設計師必知的40個設計素材站
- (效率人生)程式設計師必備工具Dash程式設計師
- Web開發者和設計師必備的20個線上實用工具Web
- 每個程式設計師都有一個框架夢程式設計師框架
- 每個Java程式設計師都必須知道的四種負載均衡演算法Java程式設計師負載演算法
- Java程式設計師必讀:最新流行的Java開發程式設計技術Java程式設計師
- 程式設計師的8個注意程式設計師
- Java程式設計師必須掌握的5個註解!Java程式設計師
- 每個程式設計師應該知道的12個API程式設計師API