很多程序員知道一個(gè)流行的谷歌Java庫——Guava,這并不奇怪,因?yàn)樗闹饕P(guān)注點(diǎn)是提高開發(fā)人員的生產(chǎn)力。但其他谷歌庫呢?你有注意過嗎?在下面的文章中,我們將瀏覽谷歌的一些有趣的Java庫,并讓你了解如何使用它們。想學(xué)習(xí)java的同學(xué)可以參加java培訓(xùn),在專業(yè)老師的帶領(lǐng)下,可以獲得快速提升。
1.依賴項(xiàng)注入—Guice
Guice是Java的一個(gè)輕量級(jí)依賴注入(DI)框架,其作用與Spring的核心控制反轉(zhuǎn)(IOC)庫類似。如果你不熟悉它,Guice可以減少對(duì)工廠的需求,并簡化代碼中“new”的使用。用谷歌自己的話來說,Guice@Inject是新的。
雖然這個(gè)庫不會(huì)免除你編寫工廠的責(zé)任,但它將有助于確保你的代碼不直接依賴于它們。這樣,更改、單元測試和重用代碼將更容易。
這個(gè)庫旨在使開發(fā)和調(diào)試更容易、更快。文檔甚至聲稱可以幫助你更好地理解代碼。Guice提供的另一個(gè)很酷的功能是在出現(xiàn)錯(cuò)誤時(shí)生成有用的消息,這樣你就可以了解發(fā)生了什么以及如何解決它。
2.靜態(tài)分析—ErrorProne
這個(gè)開源庫是Java的靜態(tài)分析工具,允許你在編譯時(shí)發(fā)現(xiàn)常見的編程錯(cuò)誤。例如,它可以檢測到的錯(cuò)誤模式之一是CannotMockFinalClass,這表明Mockito不能模擬最終類。在java培訓(xùn)中,有更加系統(tǒng)全面的課程,明確清晰的學(xué)習(xí)路線,學(xué)習(xí)起來既輕松,又高效。
在官方庫頁面上,你會(huì)發(fā)現(xiàn)常見錯(cuò)誤列表及其建議的修復(fù)方法。這意味著每個(gè)錯(cuò)誤都有一個(gè)別人已經(jīng)想到的解決方案,并且你可以在自己的代碼中輕松實(shí)現(xiàn)它。
3.有意義的錯(cuò)誤—Truth
Truth是一個(gè)測試框架,旨在幫助你的測試和錯(cuò)誤消息更具可讀性和可發(fā)現(xiàn)性。它生成有意義的錯(cuò)誤消息,報(bào)告測試失敗的原因,同時(shí)可擴(kuò)展到新類型的對(duì)象。你可以使用Truth來代替JUnit的斷言、FEST或Hamcrest的matchers類,也可以簡單地以你認(rèn)為適合你的代碼的方式使用它。它為你提供了一個(gè)測試動(dòng)詞,該動(dòng)詞斷言被測試的主語、值或賓語。你可以使用Truth來聲明JUnit風(fēng)格的假設(shè)(并跳過失敗測試)、斷言和異常。
4.語言不可知論協(xié)議——Kythe
Kythe提供并支持工具和標(biāo)準(zhǔn),以鼓勵(lì)操作源代碼的程序之間的互操作性(系統(tǒng)之間共享、交換和使用信息)。解釋它的一個(gè)更簡單的方法是說,這個(gè)庫為構(gòu)建與源代碼一起工作的工具提供了一個(gè)生態(tài)系統(tǒng)。想學(xué)習(xí)java更多技能,建議參加java培訓(xùn),課程實(shí)時(shí)更新,緊跟市場和企業(yè),讓你學(xué)到最新的java技能,提高市場競爭力。
這個(gè)庫的主要目標(biāo)是提供一個(gè)標(biāo)準(zhǔn)的、與語言無關(guān)的交換機(jī)制,該機(jī)制可以用于任何源代碼。它包括構(gòu)建系統(tǒng)、編譯器、解釋器、靜態(tài)分析、編輯器、代碼評(píng)審應(yīng)用程序等等。這樣,你就可以與你想要的任何其他系統(tǒng)共享信息。
5.序列化結(jié)構(gòu)化數(shù)據(jù)-Protobuf
Protobuf,也被稱為ProtocolBuffers的庫,是谷歌的語言中立、平臺(tái)中立、可擴(kuò)展的機(jī)制,用于序列化結(jié)構(gòu)化數(shù)據(jù)。如果你不確定它的意思,谷歌解釋說,它就像XML一樣,只是更小、更快、更簡單。如果我們必須為這個(gè)庫選擇一個(gè)口號(hào),它可能是“一次構(gòu)造,隨處使用”,這是描述它的最佳方式。一旦你定義了你想要的數(shù)據(jù)結(jié)構(gòu),你就可以使用特殊生成的源代碼從各種數(shù)據(jù)流中讀寫,并使用各種語言。
最后的想法
有很多Java庫可以幫助你的代碼,讓它更智能,更容易使用。你所要做的就是了解你在找什么,看看某個(gè)庫能幫上什么忙。對(duì)Java感興趣的同學(xué),可以參加Java培訓(xùn)來獲得知識(shí)和技能,以便快速上崗。