關於閱讀源碼

當咱們對一個框架一個組件一門語言十分熟悉的時候,有追求的人都不會止步於只是熟練使用這個工具,而會更加深刻地去了解這個工具背後的邏輯還有原理,這個時候就涉及到閱讀做者源碼的問題了。vue

本篇的誕生是因爲在閱讀當前大熱的vue源碼的時候,感受代碼雖然看得懂,但好像又不懂。懂的更多的是語法上沒問題,甚至有點優雅;不懂的是,怎麼會有這個思路,爲甚麼這一步以後就到了那一步。由於有此疑惑因此就有了這篇思考json

讀源碼應該帶着什麼的目的去讀?
讀源碼以後應該收穫什麼?
讀源碼的過程應該注意什麼?
讀源碼咱們應該避免去妄想什麼?瀏覽器

讀源碼應該帶着什麼的目的去讀?

這個因人而異,主要是看本身的想法。框架

可能只是單純地想提升本身碼code的水平,向大神看起
某個實現很優雅想深究他的原理
瞭解框架背後是否用了什麼鮮爲人知的技術
提升本身封裝代碼的能力函數

讀源碼咱們應該避免去妄想什麼

瞭解做者的整個思路?工具

  • 徹底明白源碼的每一個細節
  • 本身也封裝一個相似的框架

讀源碼以後應該收穫什麼?

  • 代碼的組織,封裝技巧
  • 一些新的技術,框架,輔助代碼的東西
    框架背後的實現流程
    框架背後關鍵API實現的原理

閱讀的順序

  • 從package.json 的入口開始
  • 留意在瀏覽器中的表現
  • 從最先的地方打個斷點,在debugger裏面一個個地去跟蹤每個函數
  • 在代碼的最深處打一個斷點,而後去讀每個call stack 調用棧。
相關文章
相關標籤/搜索