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