源碼閱讀

備注: 以下言論非原創(chuàng),來自各社區(qū),時代久遠(yuǎn),已不可考,侵刪。

  1. 相信重復(fù)的力量
  2. 善用工具,比如vim到我ctags插件,source insight,code understand等。vs,linux下sublimtext,codeblocks
  3. 從.h文件的數(shù)據(jù)結(jié)構(gòu)開始,腦補(bǔ),先想再讀等。
  4. 聯(lián)系實踐,不是為讀而讀,帶著目的去讀。
  5. 寫分析文章,教學(xué)相長。
  6. 熟悉的項目可從main開始,不熟悉或大型項目從example或client入手。
  7. c代碼,關(guān)注結(jié)構(gòu)體,一般函數(shù)圍繞它們處理,java代碼關(guān)注interface
  8. 邊看邊做筆記,畫uml,流程時序圖等,方便回憶,中斷后繼續(xù)。
  9. 收集相關(guān)文檔資料,知識儲備。
  10. 找開始的地方,分層次閱讀。
  11. 備份,構(gòu)造執(zhí)行環(huán)境,編譯構(gòu)建該源碼。
  12. 寫注解,幫助理解,防止重復(fù)閱讀。反復(fù)閱讀。
  13. 修改,執(zhí)行代碼。
  14. 閱讀書Code Reading
  15. 運用版本控制系統(tǒng)git查看代碼和日志對比,可了解代碼演變信息。常用git log,git blame命令。git grep相同使用例子。
  16. gdb step
  17. follow commit歷史,看看代碼怎么擴(kuò)展開來的,可以了解框架,作者思路。同15條
  18. 懂得基本的設(shè)計模式,框架知識。
  19. 在Linux下用vim+ctags,需要注意下面這些:設(shè)置vim為打開文件后默認(rèn)跳到上次關(guān)閉的地方,在/etc/vim/vimrc中可以設(shè)置;設(shè)置vim,將ctrl+] 默認(rèn)為命令“:t”即,將全部匹配項顯示出來;用好grep命令和find命令即可,查找要查的東西非常好用;grep "the text you want find" * -r是$常用的命令
  20. 幫項目解決issue。可和作者交流,可獲得幫助,正反饋,成就感,貢獻(xiàn)。
  21. 代碼筆記寫哪?Plain-text. See https://github.com/middlefeng/LuaVMRead 。之前是直接checkout項目代碼,然后在代碼旁加注釋也是plain text. 問題是sync了新代碼之后resolve很麻煩。這辦法不錯,或者可以在代碼文件旁另建文件來加理解。
  22. 邊看邊罵。斜視
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容