如何閱讀源代碼

俗話說 聽君一席話,勝讀十年書。閱讀好的源碼,正如和智者聊天,受益無窮。

那么如何能更加高效的閱讀源代碼呢?

首先,可以把源碼分成兩類:
一類是某些功能性的代碼,這類代碼往往規模比較小,通讀一遍一般不需要耗費太多時間。閱讀源碼的方法想來也簡單,只要保持在特定代碼上的專注,多投入點時間,攻克它相信不會有太大難度。
另外一類就是大型項目的源碼了。這類源碼由于其是由多個功能模塊組成的,往往代碼量龐大,不太可能在短時間內讀完。這時候就需要一些方法來解決閱讀源碼的問題。

下面談談我認為閱讀這類源碼最有效的幾個方法。

首先是讀源碼的開發文檔和api文檔。文檔其實是作者思路的體現,它使我們能對源碼架構和功能能有個比較深刻的了解。通過閱讀源碼的相關文檔,經常會發現之前怎么讀都讀不明白的地方,突然變得豁然開朗!另外,強烈建議直接讀英文文檔,而非翻譯成中文的“二手資料”。英語是程序員的必備技能,英文看不懂怎么辦?那就去學,早學早受益!

其次是debug。在debug之前,要先讓代碼能在IDE里跑起來。sublime,vim等代碼編輯器有其自身的使用場景,但個人認為在debug代碼這一塊并不適合;專業的IDE在調試代碼的同時,能夠觀察變量的值和堆棧信息,能夠分析方法和類之間的關系,有助于我們理清思路。除了打斷點,還可以通過打印log的方式調試源碼。

再然后是做筆記。為了各個功能模塊之間的關系,可以通過畫類圖,畫思維導圖等方式,將一個大項目層層拆解成多個相對獨立的部分,再將它們逐個擊破。畫類圖推薦使用 plantUML,這是一款通過寫腳本的方式生成類圖的軟件,很適合程序員使用。而思維導圖的軟件就有很多了,我本人經常使用百度腦圖和processon。

最后可以多讀源碼自帶的單元測試代碼,單元測試的代碼相當于項目的sample,包含著功能點和相關用法。還可以自己寫單元測試代碼,自己實踐一遍有助于加深理解。

源碼閱讀是個長期積累的過程。剛開始的時候可能感覺很吃力,無從下手。但只要通過持續的投入,再輔以正確的方法,就一定能會有收獲,會駕輕就熟。
所以,just do it,now!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,337評論 25 708
  • 從來沒想過父親會聽我講故事,談論了很多關于要去的地方,關于安全、消費、住處、文化。不是第一次出去了,這次有些不一...
    蘇霽月閱讀 297評論 2 0
  • 前言:這次的作業仍然延續上次的風格,寫一封信。我很喜歡寫信,就像面對面,一對一的交談。 親愛的表弟,6月7日和8日...
    小寶不長高閱讀 297評論 0 0
  • 問題描述 開發中遇到了關于Masonry對于Scrollview的contentSize的設置問題。通過閱讀Mas...
    W_SN閱讀 10,825評論 16 18
  • 文:沙瀾 韻:平水韻 昔日一房亂 今時顧影煢 虎龍相繼去 坡道又逢卿 場景1: 場景2: 場景3: 場景4: 【P...
    沙瀾閱讀 279評論 0 8