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