模擬面試、簡歷指導、入職指導、計畫指導、答疑解惑 可私信找我~已幫助100+名同學完成改造!
前言
大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心~
平時我們在寫程式碼的時候,有時候有一些功能比較難實作,或者市面上已經有現成的庫,那麽我相信很多人會毫不猶豫地去安裝這個包,並投入到開發中去使用~
但是其實這樣是不對的,為了保證計畫的
健壯性、可維護性、永續性
,建議大家在安裝一個包的時候,一定要先經過一定的
評估
,並且這個
評估
是多方面的,分別是:
特性是啥
穩定性如何
效能如何
生態、社群、文件
學習成本高不高
相容性怎麽樣
趨勢如何
了解庫的特性
第一點肯定是要了解你所安裝的包有哪些特性,是否真的符合你的計畫需要,就比如我用 Vue 來開發頁面,是因為使用它的響應式來開發頁面非常方便,分離了檢視層和數據層,程式碼可維護性更高
或者比如 lodash 這樣的的工具庫,完全就是為了每一個計畫而生的,使用率非常高
在選庫的時候一定要了解庫的特性,了解一下: 這個庫是否能完美解決你的需求?這個庫是否功能過剩?如果功能過剩的話是否需要換另一個更簡潔的庫?
庫的穩定性如何?
一個庫的穩定性是非常重要的,這也關系到你計畫的穩定性,你總不會想要給你的計畫埋一顆定時炸彈吧?
一個經常出 BUG 的庫是不能出現在生產環境的,所以選了一個庫之後,最好能好好調研下這個庫的穩定性,多測試測試
庫的效能怎麽樣?
為什麽大佬們選庫的時候都會選體積更小的庫呢?或者支不支持
tree-shaking
呢?那是因為體積越小,說明頁面執行的速度更快。
你覺得這個庫很牛逼,但是用了它,頁面載入多了 5s ,那這個庫就是垃圾,需要馬上換掉,這就不是一個符合你們計畫的庫
生態如何?
一個庫的生態包括很多方面:
文件齊不齊全: 文件是這個庫的說明書,所以文件是很重要的,這決定了你能不能最大發揮這個庫的功能
社群活不活躍: 社群活不活躍,決定了在使用這個庫的時候可以少踩一些坑,因為社群活躍說明你的坑,很多人都踩過了
對應的周邊庫多不多: 就比如 Vue 配套了 router、vuex、pinia 等等,讓你在使用這個庫的時候,能更好地、按需地,去拓展你想要的計畫需求
學習成本
使用一個庫,學習成本可太重要了,畢竟學習是需要時間的,而時間就是金錢啊
我覺得有一句話挺有道理的: 開發一個庫的第一要素,就是要讓使用者能無腦地去使用
拿 Vue 來舉例子,前端程式設計師,稍微有點基礎的,差不多幾天就能上手 Vue,並利用 Vue 去開發一些簡單的頁面,所以 Vue 的學習成本是很低的,這也是它能爆火的原因
反觀 JSX 又很多人覺得用起來不夠無腦,維護起來也麻煩,所以很多計畫都放棄使用 JSX
所以在調研的時候,一定要看這個庫的上手難易程度如何,在某些場景最好是能做到 無縫銜接
相容性怎麽樣?
先不說庫了,就是你在使用一個 JavaScript 或者 CSS 的 API 時,你也得上 MDN 查查這個 API 的相容性如何
而 NPM 庫 肯定底層是依賴 JavaScript、CSS 的,所以這些庫肯定也是有相容性問題的
比如 Vue 就不相容 IE,因為很多比較新的 JavaScript API 都不相容 IE 瀏覽器,所以也導致了 Vue 不相容 IE 瀏覽器
所以在用一個庫的時候一定要調研一下相容性,或者說能不能透過某些措施,讓這個庫具備比較好的相容性
結語
我是林三心
一個待過 小型toG型外包公司、大型外包公司、小公司、潛力型創業公司、大公司 的作死型前端選手;
一個偏前端的全幹工程師;
一個不正經的金塊作者;
逗比的B站up主;
不帥的小紅書博主;
喜歡打鐵的籃球菜鳥;
喜歡歷史的乏味少年;
喜歡rap的五音不全弱雞如果你想一起學習前端,一起摸魚,一起研究簡歷最佳化,一起研究面試進步,一起交流歷史音樂籃球rap,可以來俺的摸魚學習群哈哈,點這個,有7000多名前端小夥伴在等著一起學習哦 -->
廣州的兄弟可以約飯哦,或者約球~我負責打鐵,你負責進球,謝謝~