過去有機會接觸 Python,就會覺得 Python 寫起來舒服簡單輕快。但我們有很多時候不是說想用 Python 就可以用 Python 的,可能會有很多的原因,好比說接手的專案就不是用 Python,或是整個公司就習慣使用 Java 或是其它語言來開發,當然我是沒有機會去找到 .net 的工作。但在這時候,我們就會想個方法問問自己,Java 有沒有辦法讓他簡單一點、輕快一點、不要這麼嚴格麼,大家自己人好相處一點麼,於是就認識了我們的新朋友 Guava。
Guava 到底是什麼鬼? 我們在認識一個東西的時候,我們一定要先乖乖的看文件,而我自己很喜歡看類似各個 libary 的 philosophy,正巧 Guava 裡面有篇 PhilosophyExplained,所以我們可以好好的認識的一下 Guava。
Guava 是一個由 Google 來維護的 Open source project,同時也被 Google 用來進行公司產品 的開發,可以說 Guava 是 Google core utility libary,無論你進行什麼類型的專案,你肯定都能用上 Guava ,即便是可怕 Android…
Guava 身為一個 core utility libary, 在思考什麼東西要進入 Guava 的時候大概有幾個思考的原則:
– 這個 feature 是不是能夠省下大量的 Code
– 能夠避免寫下難以 Debug 的 Cdoe
– 能不能改善可讀性
– 改善速度, 可能指 perfomance 或是開發速度
而 Guava 的設計原則則是
– Guava 一直都在找一個 API 的最佳使用方式,當 Guava 不確定是否有最好的使用方式, Guava 會直到找到最佳方案才讓他進入 Guava.
– 在 method 以及 classes 的命名上保持清楚直覺的特性
– 鼓勵使用 Guava 的 user 能夠養成好的習慣
– 盡可能找出通用的解決方法,而不是針對每個個案解決
– 強調維護度
從上面的特性我們大致上可以了解 Guava 想作到的事情
– Guava 不是一個 Framework, 他不解決架構上遇到的問題
– Guava 是一個 libary
– Guava 希望養成程序員好的習慣,在細節上
– Guava 簡化一些 Java 廢話太多的問題
– Guava 希望讓 Code 的維護度提升