天天看點

如何快速閱讀java源碼_如何快速閱讀源代碼

這篇文章,是對我自己常用閱讀源碼的習慣的總結。

(零):先做備份

當拿到一份源代碼,不管是工作上臨時接手的項目還是平時在網站上down下來的demo,如果想要完全看懂,往往需要做一些改動,有時候改動的比較多就會忘了原來的代碼是什麼樣的,是以我建議,得到一份新的源代碼後首先應該進行備份。

(一):編譯跑一遍

當拿到了一份新的源代碼,我不知道他的作用是什麼,那麼最好的辦法就是先把軟體編譯以後跑一遍。如果發現軟體編譯時出錯,那麼顯然,這不是一個好的源代碼,這也就提不上快速閱讀了,慢慢踩坑才是王道。

(三):梳理資料的來龍去脈

計算機的最大作用是用來計算的,既然是要計算,那麼就要有資料的輸入和輸出,例如我是做機器人的,工控機和下面單片機有着各自的任務,那麼隻要我找到工控機和單片機通信的部分,我就就可以通過通信的資料一步步查找資料的處理方法,最後得到一條資料從輸入到輸出的鍊路,這樣雖然鍊路中每一個調用的方法我不一定知道它是具體如何實作的,但是我可以大緻得到每一個方法的作用。

(四):閱讀代碼寫注釋

前面說的是比較粗略的做法,接下來要專注細節,就要閱讀方法中的每一行代碼,對于具體的方法,最好是有着算法文檔,不然有一些代碼,很難看明白,例如我學習牛頓疊代法時曾經見過使用該方法開方的代碼,如果沒有算法文檔,絕對看不明白它的作用。

如果遇上沒有算法文檔的項目,那就隻能自己硬看了,我的建議是每行寫注釋,這個有助于厘清自寫代碼,結構代碼,程式自帶代碼和第三方庫的API。程式自帶代碼指的是類似MFC這樣的架構生成時自己出現的代碼。結構代碼是由項目架構工程師寫的,友善分工合作而使用的代碼。厘清這四類代碼後就會發現,自寫代碼和調用第三方庫往往是核心,但是剛開始最讓人搞不懂的,是程式自帶代碼和結構代碼

(五):自己嘗試進行修改

俗話說,輸出是最好的學習。在我大學的時候,我的導師跟我說,你學習一份代碼,感覺差不多了就上手改,如果改完的代碼成功的跑了起來并且實作了你預期的功能,那麼你就可以說已經學會了。是以我建議,對于一個源代碼,到了最後的學習方法就是自己上手修改,在debug中學習是最快的,