說說我的開源學習經歷:
1、下載源代碼之后,首先要跑起來。編譯通過、正常運行。
2、在你覺得最有可能的運行到的地方,設置斷點或者拋出異常,這樣,就能夠找到一個項目在正常運行時的入口點。
3、從入口點所在的那個源文件開始閱讀,逐步把握整個項目是如何啟動起來的。
4、隨便改點代碼,看看會不會報錯,如果報錯,會從哪里報錯。
5、試著把報錯屏蔽、修復、或者繞開。
6、嘗試理解一個系統的內部結構,多少組成部分,主線模塊是哪些?輔助模塊是哪些?
7、從實際需要出發,修改這個項目,滿足自己的某一個小的需求。
在此之前,盡量不要在網絡上找答案。
8、看看相關的討論與心得,看看是否與自己的理解相一致。
9、提交bug fix或者某個新的功能代碼。
在學習開源的過程中,有幾個方面,會獲得大量的收獲:
1、架構與模式
2、開源社區常見的一些慣用法
3、相關領域的結構與算法
總結一點是:學習開源,就盡可能在代碼里找答案,而不是在代碼之外找答案,那些都是二手的,而且很可能是不準確的。