正確的學習方法不僅能夠讓你事半功倍,也能夠讓你更加接近真理。初學一個工程的源代碼,往往讓初學者手足無措。下面的方法希望為初學者帶來啟示和便利。這個學習方式是基於編譯環境和語言比較熟悉的基礎上。最重要的是你要確定你要閱讀的源代碼是一份好代碼。因為閱讀代碼就像閱讀書籍。好代碼讓你終生受益,壞代碼會給你留下陰影。
一.先把源代碼安裝起來編譯起來,結合它的文檔和手冊,熟悉其功能和它的應用方式。如果遇到的是英文文檔,那么首先恭喜你,如果硬着頭皮看下來,不僅能在國內開此系統或框架的先河,而且能讓你閱讀英文的水平大幅提升。
二.瀏覽源代碼的目錄結構,了解各個目錄的功能。從整體上觀察這個工程是有哪些模塊組成的,最好能畫一畫圖。
三.經過以上兩步后你對這份源代碼有了一個初步的了解了,現在開始分析它的源碼吧。這一步我們開始分析源代碼框架。例如入口方式是單入口還是多入口,頁面之間的調用規則,能根據規則找出某個功能用到的頁面。
四.熟悉源代碼的代碼寫作風格,例如縮進方式,排版格式,變量命名,函數命名等。
五.熟悉一下源代碼用到的數據庫和表,可以參考它的技術支持文檔。
六.經過以上幾步相信已經對源代碼有了更深刻的了解,不過這種了解還只是表面的,下來我們從7個方面具體的去分析它吧:
1.入口構造以及頁面調用方式的具體實現,如果閱讀時看到工具類和工具函數,盡量去熟悉一下。這一步的分析可以學習到源代碼的系統架構方式。
2.分析源代碼用到的工具類和工具函數,這樣可以學到很多程序編寫技巧。可以提升自己編程功力。
3.結合一些安全規則,研究這個源代碼是怎樣實現安全方面的設計的。這樣可以提高自己在安全方面的意識和功力。
4.如果有模板引擎的話,研究一下源代碼的模板引擎。大致從實現方式,效率,易用性等幾個方面去考慮。
5.研究系統的各個功能模塊,這樣既能學習編程技巧還能打開自己的編程思路,下次遇到類似的東東就心里有譜了。
6.研究系統所用到設計模式,一樣的功能實現,用到的設計模式可能相差很多,對比我們之前所作的東東分析設計模式,是提升我們駕馭代碼的不二法門。
7.研究源代碼對訪問壓力,執行效率,系統效率,數據庫查詢的優化。
七.做筆記,把這個開源代碼實現的功能,實現方式、設計框架、模塊組織、以及代碼技巧等記錄下來。邊記錄邊總結整理,對學習的東西更容易消化吸收。
八.實踐是檢驗真理的唯一標准,修改一些比較簡單地功能,或者寫一些簡單的sample,並且調試出來,這樣才能做到更加理解代碼。同時框架性的源代碼里一般都有自帶的實例,修改使用這些實例,可以快速了解框架的使用。