一、前言
作為程序員,根據自身職業發展,會通過跳槽謀求更進一步的發展,這時進入新公司,接觸全新的項目工程和業務,如何快速的切入,形成認識呢?就算不跳槽,公司業務調整,也難以避免接觸新項目,此時快速閱讀項目工程源碼的技能就很必要,這里小生不才,整理一下我的一些經驗,拋磚引玉。
二、思路先行
還是遵循“思路先行”的原則,接觸新項目工程,有如下思路:
1)軟件框架和核心業務兩手抓。
2)由整體到局部:先熟悉整體框架,再走讀具體業務代碼。
3)由主到次:核心業務代碼先熟悉,再理解普通業務
4)簡單到復雜:可以以簡單的模塊進行代碼閱讀,對框架建立認識,然后再啃復雜代碼。
5)LLM輔助代碼走讀、注釋。
三、軟件框架
先熟悉軟件框架,對于后續業務代碼走讀和理解有非常大的幫助,如平臺的一些機制和API的理解。軟件框架一般包含哪些東西,那就是我們要梳理對應的:
-
系統架構圖、模塊框圖
-
分層結構:理清上下層關系
-
進程模型or線程模型
-
系統平臺機制:定時器、事件通知、調試手段
-
上下文整理:核心線程,整理上下文入口,梳理調用鏈
-
進程間通信手段
-
配置管理:用戶配置、數據庫技術
-
事件通知機制:RPC、notify機制
-
業務模塊:先關注有哪些模塊,后續逐個學習
-
編譯框架熟悉,機型配置管理和生效過程,衍生機型配置如何區分
梳理完成上述內容,基本對于軟件框架就有基本認識,基本可以輸出一張軟件框架圖,然后再展開核心業務代碼學習。
關于如何快速進行代碼走讀,已在此文章整理過,可查閱:
https://blog.csdn.net/qq_40036519/article/details/149154971?spm=1001.2014.3001.5502
代碼走讀找準幾個上下文的函數入口整理調用鏈條,根據數據結構了解核心業務邏輯,以核心模塊走對對框架有個了解,然后逐步學習各模塊。代碼走讀可以使用LLM給出代碼閱讀和注釋。
四、業務學習
這里的目的是快速獲取業務知識,通過以下途徑:
- 多問
業務學習的一大技巧就是**“多問”**,并且要不恥下問,因為業務知識網絡上可能搜索不到,自己又無法琢磨,此時就需要向公司內部專家多問。以快速獲取知識為目的。
- 項目文檔等已有資源獲取
先獲取項目文檔,提升效率,不要怕,勇敢去問上級是否有相關資料文檔,雖然可能很多公司文檔都不健全。
- 代碼走讀
走讀核心代碼,熟悉業務,此時注意帶著問題去走讀,理解背后的設計原理和問題背景。管中窺豹,可見一斑。
- 歷史修復問題列表
根據歷史問題修復的跟進記錄,和一些開發任務的過程記錄,輔助學習。
五、一些技巧
- 注重已有資源獲取:設計文檔、系統框圖、過程記錄等資料獲取。
- 思路先行、巧用LLM輔助代碼閱讀和注釋。
- 學習筆記輸出: 輸出核心代碼調用邏輯圖、軟件框架圖、核心業務學習筆記。