在寫代碼的時候,通常要學習現有的框架。或者在團隊開發中開發也需要讀懂小組的代碼。大部分程序員也常遇到接手他人項目情況,會花大量時間來閱讀理解他人代碼。不管你是參考也好還是研究開源也好。除了使用適用的開發工具提高外,通常常見的方法有下面兩種
常用方法(一)
1、一邊閱讀代碼一邊寫註釋;
2、一邊閱讀代碼一邊繪製UML;
3、通過Debug來跟蹤程序的主要執行過程;
4、類的快速閱讀;
5、帶著問題去閱讀。
常用方法(二)
1、正向研究法:找到Main()函數依次往下查看;
2、逆向研究: 確定代碼什麼時候調用.exe, .exe程序哪裡開始執行! 一般是main()函數,但沒找到main()函數,決定先研究核心代碼!然後通過對核心代碼的調用,逆向研究! 通過Ctrl+m+p(打開)與Ctrl+m+o(關閉)快速瞭解類的函數..從GetInstance()-->構造函數-->其他函數-->析構函數的方式去研究;
3 、通過查看升級快速定位 。
整合觀點
一、閱讀他人的程序代碼——讀懂程序代碼,使心法皆為我所用
1、先了解系統架構與行為模式,再細讀;
(在你需要了解任何片段的細節實作時,能夠很快在大腦對映到具體的代碼的位置,那時才是繼續細讀的時機)
2、熟悉溝通語言與慣例用語;
3、掌握代碼撰寫者的心態與習慣。
二、閱讀他人的程序代碼——摸清架構,便可輕鬆掌握全貌
1、閱讀代碼的目的,在於瞭解全貌而非細節;
2、由上而下理清架構後,便可輕易理解組成關係 ;
3、瞭解架構,必須要加上層次感;
4、探索架構的第一件事:找出系統如何初始化;
5、探索架構的第一步——找到程序的入口 。
三、閱讀他人的程序代碼——找到程序入口,再由上而下抽絲剝繭
1、展開的同時,隨手要做樹狀結構筆記;
2、無法望文生義的函式,先試著預看一層 ;
3、根據需要了解的細度,決定展開的層數 。
希望上面對大家有幫助
閱讀更多 大大里 的文章