Java 開發者常常會想辦法如何更快地寫 Java 程式碼,讓程式設計變得更輕鬆。目前,市面上湧現越來越多高效能程式設計的工具。所以,以下總結了一系列工具列表,其中包含了大多數開發人員已經使用、正在使用或將來一定會用到的高效工具。這份清單名單包括整合開發環境、整合工具、測試和品質工具等。
1、整合開發環境
Eclipse是最有名也最廣泛使用的Java整合開發環境(IDE),允許開發者結合語言支援和其他功能到任何的預設包中,而且Eclipse市場有許多客製化和擴充的插件。
IntelliJ已經引起了開發者的“追捧”,甚至比Eclipse還受寵,有免費版和專業版。 [IntelliJ](http://www.javacodegeeks.com/tutorials/java-tutorials/core-java-tutorials/#IntelliJ IDEA)為眾多Java EE框架提供了針對框架的編碼幫助和提升生產效率的功能,還有大多數應用伺服器的部署工具。
NetBeans的也屬於IDE類,允許開發者快速、簡單地開發桌面應用、行動應用和Web應用。 NetBeans是免費開源的,也擁有全球性的使用者和開發者社群。
JDeveloper是Oracle提供的一個免費的整合開發環境,它為Oracle融合中間件和融合應用產品提供完整的端到端開發,支援整個開發生命週期。
2、測試
JUnit是一個Java語言的單元測試框架,用於編寫和運行可重複的測試。它為測試預期結果提供斷言,為共享的常用測試資料提供測試裝置(test fixtures),以及運行測試的測試者(test runners)。可以在這裡看一下JUnit的教學。
TestNG是受到了JUnit的啟發開發而成,但同時還具有一些新功能,所以相對而言,TestNG更加強大也更便於使用,如註解(annotations)、靈活的測試配置、數據驅動的測試和參數支持,以及強大的執行模型。它涵蓋了單元測試、功能、端到端、整合測試,支援各種工具和插件(Eclipse、IDEA、Maven等)。具體內容可以參考分別使用 Maven Failsafe 與 TestNG 進行單元測試與整合測試的文章。
Mockito是一個mocking框架,可幫助開發者編寫具有簡潔API的精美測試。其測試的可讀性很好,並能產生清晰的驗證錯誤。使用Mockito還能在執行後可以對互動進行問詢。 Mocks是透明的,所以開發者可以專注於測試選定的行為。更多詳情可以參考mockito的相關文章。
Arquillian是一個Java和JVM的測試平台,主要專注於整合和功能測試。它去掉了單元測試,重點是真正即時環境下的程式碼的相互作用。 Arquillian為測試配備了容器生命週期管理和典型測試精選。
3、整合
Apache Maven是一個非常著名的軟體專案管理和綜合工具。基於專案物件模型(POM)的概念,它的資訊中心管理著專案的建構、報告和文件。 Maven提供了一個統一的建置系統、專案資訊和最佳的開發實務指導,並且支援新功能的透明遷移。
Gradle是一個開源的自動化建置系統。 Gradle可以自動建置、測試、發布、部署,還有多種軟體包或其他類型項目,如生成靜態網站。 Gradle結合了Ant的能力和靈活性,以及Maven的依賴管理和約定,形成了一種高效的建置方式。
Apache Ant是一個開源的Apache項目,經Apache軟體許可發布。它由多種內建任務而成,允許開發者編寫、組裝、測試和運行java應用程式。它的特點是高度靈活,不會嚴格限制Java專案的編碼慣例或目錄佈局。
Apache Ivy是一種流行的依賴管理工具,注重靈活性和簡單性。它是Apache Ant專案的子項目,而Ivy用來解決專案依賴項。外部的XML檔案定義專案依賴項,並列出建置專案的所需資源。然後Ivy從artifact 儲存庫(artifact repository)中下載資源,它具有良好的靈活性和可配置性。 Apache Ivy 是由Apache Apache Ant整合的,因此將使Apache Maven的依賴管理優勢也帶到Apache Ant建置檔中,為那些已經使用Apache Ant且不想遷移到Apache Maven的開發者提供了便利。
4、應用伺服器
Apache Tomcat是一個開源的Web伺服器和Servlet容器,由Apache軟體基金會(ASF)開發。它實作了幾個Java EE規範,包括Java Servlet、JavaServer Pages(JSP)、Java EL和WebSocket,提供了一個可以運行Java程式碼的HTTP Web伺服器環境。想要了解更多請點擊。
WildFly,其前身是JBoss AS或Jboss,是一個由Jboss開發的應用伺服器,現在由紅帽在開發和維護。它是用Java編寫的,並且實作了Java平台和企業版(Java EE)規格。 WildFly是可以在多個平台上運行的免費開源工具。
GlassFish是由Sun Microsystems的Java EE平台起步,現在由Oracle公司贊助的開源應用伺服器專案。支援的版本叫做Oracle GlassFish應用程式伺服器。 GlassFish是免費軟體,經兩個免費的軟體授權批准:通用開發與發布許可(CDDL)和GNU通用公共授權(GPL)。
Oracle WebLogic 伺服器是一個Java EE應用伺服器,目前由Oracle公司開發,用於建置和部署企業應用Java EE,支援降低營運成本、提高效能、增強可擴充性和支援Oracle應用程式組合等的新特性。
5、Web應用測試
Apache JMeter是開源的Apache項目,實際上是一個專為負載功能測試和效能測試的Java應用。它最初的設計是用於網路應用,但現在已擴展到其他測試功能。它可以測試靜態和動態資源性能,模擬一個或多個伺服器負載來測試它的強度或分析不同負載類型下的整體性能。可以查看關於Jmeter的更多詳情。
SoapUI是一個免費的開源跨平台的功能測試解決方案。它提供了一個圖形介面和企業級功能,允許創建和執行自動化功能、回歸、符合性和負載測試。 SoapUI在一個測試環境下提供了完整的測試覆蓋率,並且支援所有的標準協定和技術。
6、品質分析
SonarQube是一個開源的平台,現已成為程式碼品質管理系統的世界領先者,並且因程式碼品質的持續檢查為人所知。除了Java外,它還支援大多數的語言,而且可以用作Android開發,它整合了大多數的持續整合工具。 SonarQube會為重複程式碼、編碼標準、單元測試、程式碼覆蓋、複雜程式碼、潛在錯誤、註解、設計和架構而產生報告。
FindBugs也是開源的工具,在Lesser GNU Public license授權下發布。它運行在Java字節碼上而不是原始程式碼,可以識別和確定潛在錯誤的嚴重程度,如空指標引用、無限遞歸循環、Java庫和死鎖的錯誤使用。同時,它也可以作為Eclipse、NetBeans,IntelliJ IDEA的插件。可以參考FindBugs Eclipse實例。
PMD是一個原始碼分析器。它可以偵測到常見的程式錯誤,例如未使用的變數、空的catch區塊、不必要的物件建立等等。它支援除了包括Java的大多數語言,還包含CPD、複製貼上探測器。
Checkstyle的是一個開發工具,可以幫助程式設計師堅持以編碼標準來編寫Java程式碼,會自動啟動Java程式碼檢查。它的配置性很強,能支援幾乎任何的編碼標準。
7、版本控制
Apache Subversion是眾所周知的SVN工具,是一個軟體版本和版本控制系統,在一個開源許可下發布。目前,它是由一個Apache軟體基金會的專案開發,也是全球性開發者和使用者社群的一部分。
Git是一個免費開源的分散式版本控制系統,能夠提高大小事務的速度和效率。相對於其他的組態管理工具,Git的特色在於提供廉價的局部分支、便利的暫存區和多個工作流程。每個Git工作目錄是一個完整的版本庫,有完整歷史和完整版本的追蹤能力、獨立的網路存取或中央伺服器。可以查看更多Git的文章。
8、持續整合
Jenkins是一個屢獲殊榮的應用程序,能夠監視重複的工作,從建立一個軟體專案到由cron運行的作業。它的基本功能是不斷建立和測試軟體項目,使得開發者更容易將變更整合到專案中,使用戶更容易獲得新的建置。 Jenkins還可以監控外部執行任務的執行,例如cron jobs,即使是執行在遠端電腦上的任務。
Apache Continuum是一個企業級持續整合伺服器。提供的特性包括:自動建置、發布管理、基於角色的權限管理,以及能與其它流行建置工具和原始碼管理系統整合。
Hudson是一個用Java編寫的持續整合(CI)工具,在應用伺服器上運作。它支援各種SCM工具,如Subversion、Git,可以執行Apache Ant和Apache Maven項目,以及任意shell腳本和Windows批次命令。它監視重複任務的執行,如建立一個軟體專案或由cron執行的作業。
9、Java 應用分析
在為分析Java應用開發最創新的智慧工具方面,YourKit Java分析器是技術的領導者。你可以在CPU和記憶體分析上都使用YourKit解決方案,還可以以最大生產率和零開銷來分析大型應用。同時,Java分析器還有幾個剛提出的分析創新,為其在各大小型企業的專業Java開發者獲得了當之無愧的人氣。
JProfiler是商業許可的Java分析工具,對於分析效能瓶頸、記憶體洩漏、CPU負載和解決執行緒問題等方面非常有效,它支援在同一台機器或遠端機器上進行分析。使用者可以看到活躍的總位元組、實例、執行緒、類別和垃圾回收器活動的可視化表示。它可以作為一個獨立應用使用,也可以作為Eclipse軟體開發環境的插件。
10、程式碼覆蓋工具
JaCoco是衡量和報告Java程式碼覆蓋率的一個開源工具包。它是由Eclipse公共授權協議許可,是目前唯一能支援Java 8的位元組程式碼覆蓋工具。
Clover是一個商業的程式碼覆蓋工具,它提供的指標可以讓程式設計師更好地平衡程式設計和測試。它在IDE或你的持續整合系統下運行,還包括能加快測試速度的測試優化。
11、Bug追蹤
JIRA是幫助團隊規劃並建立優秀產品的追蹤工具。成千上萬的團隊選擇JIRA來捕捉和組織問題、分配工作、跟進團隊活動。它是付費工具,但有一個7天的免費試用期。
Trac是一個針對軟體開發專案開發的完善wiki和問題的追蹤系統,以最簡潔的方式管理Web軟體專案。它還可以幫助開發人員編寫優秀的軟體,提供了對Subversion和Git(或其他版本控制系統)的接口,整合了wiki和便捷報告程式。 Trac允許wiki在問題描述和提交資訊中標記,也建立了bug、任務、變更、文件和頁面之間的連結和無縫引用。
12、文件產生工具
Javadoc是Oracle公司用來從Java原始碼產生HTML格式API文件的產生工具。 IDE可以自動產生HTML程式碼。許多文件編輯器幫助使用者產生Javadoc來源,並將Javadoc資訊當作程式設計師的內部參考。 Javadoc也提供了用於建立doclets和taglets的API,讓你能夠進一步分析Java應用的結構。
Document! X是自動化的Java文檔工具和完整的文檔編寫環境的結合體,可以用來為你的Java專案創建準確的專業文檔。它會自動將產生的文件整合在Java IDEs中,同時還能為函式庫、命名空間、類別、介面、建構子、方法、屬性和欄位產生文件頁面。
以上就是高效Java程式設計工具集錦的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!