一、序言
關於HuTool工具包,相信很多技術朋友都聽說甚至使用過。在HuTool之前,已經有比較成熟的工具包比如Apache Common包,谷歌推出的Guava包,他們已經在全世界大範圍使用了。
究竟是什麼原因導致HuTool有後來居上的趨勢,傳統的工具包對於國內開發者來講劣勢在哪裡呢,不妨來扒一扒。
二、HuTool的優勢
1、程式碼風格符合國人的開發習慣
關於編碼習慣,國內、國外開發者是有一定的差異的。傳統的底層框架,幾乎是清一色國外開發者貢獻的,如果沒有一定的程式碼閱讀語感,很難進入狀態,原始碼閱讀比較彆扭。
2、全中文文件 閱讀零門檻
隨著全民程式設計的盛行,程式設計年輕化的趨勢愈發明顯,青少年英語能力尚有待進一步提高,但是又有閱讀文件的需求,此時有中文文件的HuTool的優勢顯現出來,讓那些即使英語能力薄弱的開發者也能夠愉快的編碼。
傳統工具包全英文的劣勢凸顯出來。
3、工具方法多 接地氣
包羅永珍的工具方法,化身小超人,無所不能。特別是像生成二維碼這樣的小工具包,特別接地氣。
三、使用HuTool的目的
1、學習
HuTool是非常適合初學者學習的,demo場景豐富,註釋豐富,非常適合初學者入門Java學習。
2、上線需謹慎
正所謂學以致用,學完如果立刻拿到線上的話,需要謹慎對待。小專案、個人專案使用到無妨,正兒八緊專案,不妨先緩緩,看看其它成熟框架有沒有類似的實現。
四、知名的程式碼事故
1、7行程式碼讓B站崩潰3小時
7行程式碼讓B站崩潰3小時,直接經濟損失上億事件,讓我們認識到,除了基本功能實現外,程式碼健壯性變得越來越重要。更詳細的內容,影片直達。
HuTool程式碼由於貢獻者參差不齊,更多關注基本功能實現,而對程式碼健壯性沒有提出硬性要求。導致的直接後果是,很多功能看起來很棒,實際使用時很容易因健壯性薄弱而入坑。
遺憾的是,對於很多隻關心一兩個測試用例,便完成程式碼開發的人,很難識別出健壯性問題。新人小白更難識別健壯性問題了,無形中給一線生產程式碼帶來機制上的技術債
。
2、Apache日誌事件
再來看一個使用傳統工具包發生事故的對比。日誌門
事件相信大家記憶猶新,席捲全世界。當我們在專案中使用知名框架是,哪怕中彩票出現問題,那麼有超級大佬在前面頂著,對於普通的中小公司來說,線上等解決方案即可,無需投入更多的技術力量來修復Bug。具體參考日誌門事件的處理邏輯。
大框架由於廣泛的用例測試,並且有相應的白帽子重點跟蹤,因框架本身而出現Bug對於普通使用者來說是極低的事件。使用起來比較安心。
五、小結
本文從一線開發的角度聊了聊HuTool工具包,相信國產開源會越做越好。同時框架維護者應當意識到健壯性不足的程式碼被廣泛使用後對一線生產帶來的衝擊,給整個Java生態帶來的隱形技術債的隱藏大雷。
本文有影片版,歡迎廣泛技術朋友交流看法。