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