一份好的源代碼例如 dz的論壇,wind論壇,帝國cms,dedecms等,都具有自己的一套設計思路和設計模式,所以在看某個產品之前就要做好心理准備,可以把自己的經驗和這些產品做對比,但千萬別一直用自己的思維去評判。一句話就是“以學習和批評的辯證思想去看待”。
好吧!我們就開始吧!
那具體的我們怎樣去閱讀一份php的源代碼呢?
一。先把源代碼安裝起來,結合它的文檔和手冊,熟悉其功能和它的應用方式。
二。浏覽源代碼的目錄結構,了解各個目錄的功能。
三。經過以上兩步後相信你對這個開源的產品有了一個初步的了解了,那現在就開始分析它的源碼吧。這一步我們開始分析源代碼框架。例如入口方式是單入口還是多入口,頁面之間的調用規則,能根據規則找出某個功能用到的頁面。
四。熟悉源代碼的代碼寫作風格,例如縮進方式,排版格式等。
五。熟悉一下源代碼用到的數據庫和表,可以參考它的技術支持文檔。
六。經過以上幾步相信大家已經對這份源代碼有了更深刻的了解,不過這種了解還只是表面的,下來我們從6個方面具體的去分析它吧:
1.入口構造以及頁面調用方式的具體實現,如果閱讀時看到工具類和工具函數,盡量去熟悉一下。這一步的分析可以學習到源代碼的系統架構方式。
2.分析源代碼用到的工具類和工具函數,這樣可以學到很多程序編寫技巧。可以提升自己編程功力。
3.結合一些安全規則,研究這個源代碼是怎樣實現安全方面的設計的。這樣可以提高自己在安全方面的意識和功力。
4.如果有模板引擎的話,研究一下源代碼的模板引擎。大致從實現方式,效率,易用性等幾個方面去考慮。
5.研究系統的各個功能模塊,這樣既能學習編程技巧還能打開自己的編程思路,下次遇到類似的東東就心裡有譜了。
6.研究系統所用到設計模式,一樣的功能實現,用到的設計模式可能相差很多,對比我們之前所作的東東分析設計模式,是提升我們駕馭代碼的不二法門。
7.研究源代碼對訪問壓力,執行效率,系統效率,數據庫查詢的優化。
方法只是途徑和工具,具體實踐還需要大家的努力。自己的感想是不要著急,認真分析,把分析心得用到自己的具體項目上,呵呵!