對于程序員來說,寫代碼永遠比讀代碼來的舒服。但現實情況是,
程序員常常需要閱讀其他人員寫的代碼,更多的時候這些代碼可能即沒
文檔也沒注釋。不過,好象有個人說過一句話,“代碼之前,了無秘密”。
運用適當的策略可以讓閱讀工作變的輕松很多。
1. 對于常用的系統函數進行追蹤。
比如ReadFile,CreateDevice,CreateWindow,在這些函數處放幾斷點,
可以看到代碼的調用過程。通過這種方式可以方便地把代碼分為底層代碼
和上層邏輯代碼。
2.依據項目依賴關系進行閱讀。
項目的依賴關系同時表明了項目的復雜程度。對于大型的項目通常都會
分割成若干子項目,根據項目的依賴關系,循序漸進的方式可以讓閱讀變的
簡單。
3.對于以lib形式提供的子項目。
在閱讀時,可以先把lib的整個項目做為黑盒使用。根據_declspec(dllexport)或者
以頭文件方式提供的調用接口,可以減少對于細節的閱讀時間。根據模塊進行大致的劃分,
可以有效地對項目的結構有直接的感性認識。
4.識別項目中使用的設計模式。
對于大型項目來說,設計模式是必不可少的。在龐大的代碼中識別設計模式,尋找代碼
中使用相似手法的代碼結構可以極大簡化需要閱讀的代碼。
5.根據數據流程分析。
根據項目中,輸入數據如何在代碼中執行流動,可以對程序進行動態分析,了解各個模塊的
動態職責劃分。
6.修改部分代碼,進行調試。
修改部分常數或者饒過某些程序執行流程,或者以簡化的數據對程序進行追蹤。