原創(chuàng)|行業(yè)資訊|編輯:郝浩|2016-07-29 15:19:17.000|閱讀 1238 次
概述:Guava 是谷歌基于Java1.6的一個類庫集合的擴(kuò)展項(xiàng)目,包含了許多谷歌核心的 Java 常用庫。除開Guava,還有一些谷歌的常用Java類庫也值得我們關(guān)注,本文列出了其中的五個類庫。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Guava 是谷歌基于Java1.6的一個類庫集合的擴(kuò)展項(xiàng)目,包含了許多谷歌核心的 Java 常用庫。除開Guava,還有一些谷歌的常用Java類庫也值得我們關(guān)注,本文列出了其中的五個類庫。
Guice是一個輕量級的依賴注入(DI)Java框架,它扮演著與Spring的內(nèi)核控制反轉(zhuǎn)(IOC)庫作用相似的角色。它和Guava一樣流行,它能夠緩解對工廠模式(factories)的需求并簡化代碼中new的使用。用谷歌自己的話說,Guice的注入是為new進(jìn)行new操作。
這個庫無法讓你徹底擺脫工廠模式,但是它能夠確保你的代碼可以不直接依賴于它們。通過這種方式,你能夠更加方便的進(jìn)行單元測試和代碼重用。
這個庫旨在使開發(fā)和調(diào)試的過程更快更容易,使你能夠更好的理解自己的代碼。此外,Guice還提供了一個很酷的功能:當(dāng)錯誤發(fā)生時,它會生成一段有用的信息,告訴你到底發(fā)生了什么問題以及該如何解決這些問題。
這個開源庫是用于Java的靜態(tài)分析工具,它能夠讓你在編譯的時間捕捉普通的程序錯誤。團(tuán)隊(duì)中再優(yōu)秀的成員也有可能因?yàn)槠渌氖虑榉中亩鴮?dǎo)致錯誤出現(xiàn),而這個工具可以幫助你在程序錯誤擾亂應(yīng)用程序之前就及時捕捉到它。
比如,它能夠檢測到設(shè)計(jì)模式的所出現(xiàn)的Bug:CannotMockFinalClass——顯示Mockito無法模擬最終類。
在官方的類庫頁面你可以找到一些常見錯誤和它們的建議修復(fù)的列表。這意味著每個錯誤都已經(jīng)有了一個成熟的解決方案,因此,你可以在自己的代碼中輕松的實(shí)現(xiàn)它。
Truth是一個可幫助你增加關(guān)于測試和錯誤信息可讀性及可發(fā)現(xiàn)性的測試框架。它能夠生成一些關(guān)于錯誤的有意義的信息,報告測試失敗的原因并將信息擴(kuò)展到新的對象類型中。就好像是自帶一段警句:“我們曾在這個問題上犯了一個策略上的錯誤”。
你可以使用Truth來替代JUnit的斷言(assertions),F(xiàn)EST框架以及Hamcrest的matchers類,或者簡單的用于你代碼需要的地方,還可以用來聲明JUnit風(fēng)格的假設(shè)(跳過失敗的測試)、斷言和異常。
Kythe提供支持工具和標(biāo)準(zhǔn)來鼓勵(可控制源代碼的)程序集間的互操作性(包括分享,交流,使用系統(tǒng)間的信息)。簡而言之就是這個庫能夠提供一個(作用于源代碼的)構(gòu)建工具的生態(tài)系統(tǒng)。
這個庫的主要目的是提供一個能夠作用于任何源代碼上的,標(biāo)準(zhǔn)的,與語言無關(guān)的交換機(jī)制,它包含了構(gòu)建系統(tǒng)、編譯器、解釋器、靜態(tài)分析、編輯器、代碼復(fù)審程序等東西。因此,你可以與任何其它系統(tǒng)分享信息。
閃光點(diǎn):
Kythe擁有一個能夠回答你任何相關(guān)問題的資源豐富的社區(qū)。如果你想獲取Kythe在Python、JavaScript和Java方面的幫助或者是想知道如何建立Python的模塊,再或者只是簡單的想了解一下Kythe,你都可以訪問。
Protobuf,這個庫也被稱為Protocol Buffers,是谷歌用于結(jié)構(gòu)數(shù)據(jù)序列化與語言、平臺無關(guān)的可擴(kuò)展機(jī)制。如果你不能了解它的含義,谷歌向你類比:Protobuf就像XML,只不過更小,更快更簡單。
如果我們選擇一句口號來形容這個庫,就是“一次構(gòu)建,隨處可用”,這也是形容它最貼切的方式。一旦你定義想要的數(shù)據(jù)結(jié)構(gòu),你可以使用特殊生成的源代碼來讀寫各種數(shù)據(jù)流和語言。
閃光點(diǎn):
protobuf是我們最喜歡的類庫之一,它能夠幫助我們把那些復(fù)雜元素變得更加簡單。
本文翻譯自,譯者:慧都控件網(wǎng)-回憶和感動
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn