看不懂原始碼,一條路debug嗎?

帶你聊技術發表於2023-02-23

大家好呀,我是樓仔。

有很多同學看不懂原始碼,但是又想學,不知道怎麼辦,開源專案應該怎麼學習?直接一條路 debug 嗎?

我相信很多同學都遇到過類似的問題,特別是剛接觸原始碼,或者剛參加工作不久的同學。

不僅僅是開源原始碼,公司專案其實也一樣。

比如你剛入職不久,或者剛接手公司的某個專案,如果專案簡單還好,對於稍微複雜一些的專案,關鍵是你還必須快速上手(老闆才不會讓你花太多時間慢慢學習),就非常頭疼了。

球友提問

樓仔,想問一下對於沒有影片的開源專案應該怎麼學習?直接一條路 debug,然後彙總檔案嗎? 有沒有好的思路?

樓仔回答

球友好,你這種問題,我工作頭幾年也遇到過,後來看的程式碼多了,也總結了一套自己看程式碼的流程和方法,希望能對你有幫助。

無論是開源專案,還是公司專案,我一般會按照下面這套流程,就拿我們的技術派專案來說:

  1. 一個專案上來直接看程式碼,然後一條路 debug,你會一下子陷進去,我一般是先找專案檔案(我很少看影片),或者網上的部落格,搞懂整個專案的框架、功能模組劃分、整體流程等,讓你對專案有一個整體的認識。

  2. 然後再選擇一個你感興趣的模組作為突破口,也是找一些該模組的檔案(或者網上有一些讀者的筆記),搞懂它的整個設計思路。

  3. 最後才是看程式碼,看程式碼之前,我也不會直接開整,我會先看 DB,因為所有的操作都是圍繞 DB 去處理的,搞懂 DB 的設計和各表之間的關係後,再去找該模組的入口去看程式碼。

  4. 看程式碼時,千萬不要陷入細節,這點要牢記!!!要學會“抓重點”,就比如一棵樹,你要抓主幹,不要鑽到枝葉裡面出不來,之後就可以去 debug。

  5. 抓完主幹後,如果你對某些細節感興趣,可以再慢慢深入研究。

總結一下:框架 + 模組 -> 模組設計思路和流程 -> DB設計(如果沒有可以跳過) -> 抓程式碼主幹 + debug -> 扣程式碼細節 -> 再看其它模組,直到全部看完。(不過我有時也會先看“DB設計”,再看“模組設計思路和流程”,這個因人而異。)

比如我之前看 Spring 原始碼,就拿 Spring 迴圈依賴來說,這個巢狀邏輯有點深,不是很容易看懂,但是我看得很快,主要就是用了上面這套方法,多借力身邊的資源,先框架、再原理、再主幹、最後扣細節。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024922/viewspace-2936618/,如需轉載,請註明出處,否則將追究法律責任。

相關文章