做爲一名前端搬磚者,常常出現這種場景:一個npm install 下去,瘦小的工程文件夾瞬間變成了大胖子(這尼瑪要是現金這麼給該多好)。前端
沒錯,前端開發就是如此,大量的第三方庫,瞎了無數的開發者,遇到一個功能,查查第三方庫,看看api,一個npm install,而後拿來就用。做爲功能開發,不重複造輪子,無可厚非,但久而久之,對於前端工程師來講,無疑是一種束縛,束縛瞭解決問題的思惟,束縛了對代碼藝術的想象力。git
我在這條不歸路上,也困惑了好久,熟練地搗鼓第三方庫,認爲玩得遊刃有餘,但真正須要本身設計上層的框架或者解決底層的細節時,顯得無比吃力。我恍然大悟:熟練的使用第三方庫,的確擴展瞭解決問題的路徑,但真正成爲高手,必需要了解其本質,只有庖丁解牛,才能作到伸縮自如。github
我曾經嘗試寫幾個框架解決本身的需求,興高采烈地在github上建立完工程後,發現原來本身的想法早有人開始幹了,抑或是一些先進的框架,稍做變通就能夠解決我要的問題。npm
我深入地揭露本身的私心:想經過一兩個開源項目來提升本身的競爭力,這是一個積極,向上的想法(聽起來真的頗有理),然而,在咱們沒有達到足夠熟練的狀況下,憤然開了那麼一個爛尾的工程,是否是又有點浪費資源呢。api
因而,我深入反思,與其生憋框架浪費資源,爲何不能好好分析優秀的代碼呢?前端工程師
用了那麼多好的第三方框架,但歷來沒有靜下心來分析一下源代碼(一個簡單的fork而已)。框架
認真分析源代碼,才能真正的體會到語言的精髓,領略到奇技淫巧的美。設計
對與工做中,咱們常常會遇到一些問題,使用第三方庫顯得臃腫,本身寫又疏於考慮,這時分析源代碼就成了很是好的辦法,取其可用,除其多餘,代碼也變得靈巧。資源
嗯,分析源代碼就如同吃雞,一塊一塊撕下來,細細品味,再沾個小料,變成了本身的味道。開發
記住,必定要用手撕。