1.引子
應交流羣小夥伴要求,寫一篇《新人如何快速剖析源碼,掌握原理》的文章。特意花一小時整理一下,你們共同提升哈。git
2.學習步驟
其實若是多看做者的幾篇系列文章,就會發現套路就是四步驟:程序員
- 原理概覽
- 簡單樣例
- 源碼剖析
- 總結提升
2.1 原理概覽
官網永遠是第一學習地(切忌上來直接看別人博客,網上質量堪憂,不少舊版本、錯誤論點)。上官網能夠確保我們大方向不出問題。在官網學習項目的初衷、特性、地位,全局掌控一下這個項目的定位。github
哪些渠道?算法
例如獨立域名官網(spring系列、apache系列)、github等。spring
2.2 簡單樣例
看再多很少不如本身跑一遍,看看怎麼用,有什麼效果。不知道怎麼寫樣例?官網都有。apache
2.3 源碼剖析
簡單樣例有了,能夠debug了,一步一步跟着源碼看(在覈心步驟處打斷點)。模塊化
- 主要脈絡法:先把握主要脈絡,模塊化去分析源碼,切忌一上來就死扣細節,能夠畫圖輔助。
- 專題剖析法:掌握基本思路後,以獨立專題的形式來看源碼細節,效果更佳。(細節看完後,配以專題博客,效果更佳)
- 疑難解決法:若是實際中用過,甚至遇到了問題,直接帶着問題去找答案。
- 實踐優化法:若是有機會在公司項目中使用上線,利用本身瞭解的原理、特性,作到了精細化使用,優化了性能,那就是完美中的完美,技能+績效雙豐收...
瞭解基本概念原理後,還看不懂源碼怎麼辦?性能
- 參考前人智慧:看看質量高的博客,例如博客園,部分CSDN,簡書等。切忌照搬別人的博客,無腦copy,毫無價值。要以本身一個新的視角去從新排版博客,在某些角度寫的更好纔有價值。(好比源碼別人剖析挺好,但總結不到位,你本身補上流程圖、原理圖等)
- 多看幾遍:要紀錄下來,每次比上次多看懂一些,沒必要一次所有看懂所有。
2.4 總結提升
站在一個俯視的視角,總結這個項目,本次對這個項目的剖析,還有哪些待完善的,以便本身未來回過頭來再完善。學習
3.番外篇
- 有難度:新人確定上手會有必定難度,但邁出第一步最重要,哪怕你就總結了一個小模塊。這就是零的突破,一直寫一直開心。
- 很無聊:閱讀源碼很無聊,但想要當技術大牛,必須經歷這個過程(國內程序員行業已經很卷了,算法大神不算哈)。能夠另闢視角,找點樂趣。好比研究下做者,研究下算法。其實源碼看多了,就發現都是套路,熟能生巧。
- 在此祝:祝你們能快速入門,花最少的時間掌握源碼閱讀技能,早日年薪百萬,迎娶白富美。