摘要:工欲善其事,必先利其器。一名優秀的開發者手裏確定握着很多祕密武器,本文開發者分享了他在開發Java項目時,所用到的5款有助於提升代碼質量的工具。 html
在本文,將介紹5款在IDR解決方案的(開發語言爲Java)中,最經常使用也最實用的工具給Java開發人員,但願它們幫你開發出更好的代碼。 shell
1.FindBugs apache
顧名思義,FindBugs是一款幫助開發者發現bug的工具,它是一個開源項目,遵循GNU公共許可協議,運行的是Java字節碼而不是源碼。 bash
它是一款靜態分析工具,它檢查類或者JAR文件,將字節碼與一組缺陷模式進行對比來發現可能存在的問題,這些問題包括空指針引用、無限遞歸循環、死鎖等。 服務器
FindBugs在發現錯誤後,會進行等級劃分,它把發現的錯誤分爲四個等級: 架構
scariest(恐怖的) 工具
scary(嚇人的) 佈局
troubling(使人困擾的) 性能
of concern(值得關注的) 單元測試
FindBugs是一個獨立的GUI應用程序,有多種使用方式,能夠做爲Eclipse、NetBeans、IntelliJ IDEA插件使用,也能夠從命令行、Ant、Maven使用。
Apache Ant是由Apache軟件基金會所提供的一款開源軟件,是一個將軟件編譯、測試、部署等步驟聯繫在一塊兒加以自動化的一個工具,主要用於Java環境中進行軟件開發,它還能夠用於構建C或C++應用程序,也能夠針對目標任務運用在多種軟件開發過程上。
Apache Ant有大量商用或開源的「antlibs」供你們使用,它很是靈活,由於他對編碼約定或目錄佈局都是沒有任何限制的。Apache Ant被普遍運用在各類Java IDE環境中,如Eclipse、NetBeans、IntelliJ IDEA等。
JProfiler是一個商業受權的Java剖析工具,由EJ技術有限公司開發,主要是針對Java EE和Java SE應用程序使用。它把CPU、內存和線程分析析組合在一個強大的應用中,從而能夠用來分析性能瓶頸、內存泄漏、CPU負載以及線程問題。
JProfiler支持多種剖析模式:本地會話實時分析模式、遠程會話實時分析模式、離線分析模式、快照比較、查看HPROF快照。此外,JProfiler既能夠做爲單獨的應用程序使用,也能夠做爲一個插件使用,也能夠在Adobes Coldfusion和Glassfish中做爲應用服務器集成的一部分。
4.Bash
全稱是Bourne-Again SHell,發佈於1989年。它是一個Unix shell或命令式語言解析器,它做爲GNU項目,是Bourne shell的一個免費替代。它在GNU操做系統上做爲shell被普遍運用,它已經是大多數Linux系統以及Mac OS X v10.4默認的shell,它能運行於大多數Unix風格的操做系統之上,甚至被移植到了Microsoft Windows上的Cygwin系統中,以實現Windows的POSIX虛擬接口。此外,它也被DJGPP項目移植到了MS-DOS上。
它一般被用做一個命令處理器,一般運行在一個文本窗口,它還能夠從文件中讀取各類命令、支持通配符的文件名、piping、命令替換、變量、控制結構等用來進行條件或迭代測試。
Sonarqube是一個開源平臺,是一款代碼質量管理和環境搭建工具。它目前支持25種以上語言,包括Java、C/C++、C#、PHP、Flex、JavaScript、Python、PL/SQL、COBOL等,此外,它還能夠做爲Android開發的一部分。
它提供了徹底自動化的分析工具,而且能夠與Maven、Ant、Gradle和其它集成工具很好地集成,也能夠與Java IDE進行很好的集成。它還能夠用於報告重複的代碼、編碼標準、單元測試、代碼覆蓋率、複雜的代碼、潛在的bug、評論、設計和架構。