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