前言
讀別人寫的源碼的好處
對於程序員來說 , 特別是初級程序員(當然 , 像我這樣的啦..) , 讀取別人寫的程序的源碼是學習一些技巧和知識點和優秀的套路的一種方法 .
正所謂 , 概念只有在實踐中運用後才能真正被掌握 . 所以 , 先是要讀懂 , 讀懂之後要靠着自己的心得進行重寫一遍 . 最後一定要進行總結記錄 . 這樣才能快速提升自己的編程水平和經驗.
讀取別人源碼時遇到的問題
看着下載的程序源碼 , 裏面大量的文件 , 每個文件裏大量的代碼 , 很多人立刻就喪失了往下閱讀的興趣 .
閱讀某個模塊時遇到了不懂的問題或者說其它問題 , 沒有找到解決的辦法, 就不想往下閱讀了.
讀完某個模塊想自己寫代碼實現時 , 發現自己居然寫不出來 , 還是要對着別人源代碼纔可以寫出來.(看別人的看得懂 , 但是自己卻寫不出來.)
其它原因
讀取別人源碼的前提條件
- 知識基礎
- 強烈的學習慾望
- 耐心
- 解決問題的能力
- 正確的閱讀方法
方法
閱讀流程
1.精心選中要閱讀的源碼程序
- 這裏最好和你熟悉的編程語言有關(當然 , 任何編程語言的編程思想都是相同的) , 並且這個程序是您感興趣的一類 , 這樣纔可以提高興趣 . 下面提供了一些搜索項目的網站.
2.編譯運行程序
- 下載完之後 , 找到入口函數 , 編譯檢測程序源碼是否可以被編譯 , 查看最終效果.(確定自己是不是要進行閱讀)
3.看着效果進行思考
- 看着運行的程序 , 思考自己有能力實現的部分 , 思考自己目前沒有能力實現的部分 . 然後進行分類 (後面進行層層擊破)
4.找到要開始閱讀的地方
如果有時間的話 , 可以將自己有能力實現的部分實現一下 . 當然 , 最好還是看一下別人如何實現的 , 和自己的開發思路進行比較 , 這樣可以學習到別人的開發思路和一些編碼習慣
如果是沒有能力實現的部分 , 那麼我們一定要先找到源碼中它在那裏寫的代碼實現的.(可以通過程序員對源碼文件的命名和一些註釋來找 , 如果有開發文檔的話那麼直接去找開發文檔.)
5.開始閱讀
先看一下寫的註釋 , 然後大致瀏覽一下 , 看一下代碼量 , 如果非常多的話那麼繼續將它劃分 , 分成一個函數一個函數去閱讀 .
然後開始閱讀別人的這個模塊的代碼 , 如果發現自己有看不懂的函數,直接去百度搜索或者查官方文檔進行理解 . 如果這個模塊裏有依賴外部的變量和函數 , 那麼就利用IDE的強大功能進行跳轉進行查看.
注意:每讀完一個函數或一個模塊 , 一定要自己結合自己心得給出這個模塊或函數註釋
6.一些心得
閱讀源碼最重要的是耐心和不怕困難可以解決問題的能力 , 有時候讀一遍沒有懂 , 那麼就多讀幾遍 , 當自己能完成靠着自己的心得和方法寫出這個函數的功能或者這個模塊時 , 就說明非常好了.