閱讀代碼的方法

          由于工作上的原因,我不得不看大量別人寫的代碼,這是一件很痛苦的事,尤其是看既少文檔注釋,又無良好命名和結構的代碼.

          有本書叫Code Reading,中文譯作代碼閱讀方法與實踐, 簡單瀏覽了一遍電子文檔, 感覺還是隔靴搔癢, 對提高代碼閱讀效率并無太大的幫助. 自己感覺還是以下方法有些幫助:
          1. 把對代碼閱讀的認識用筆或wiki記下來, 最好根據功能結構分類,可畫些輔助理解的框圖或思維導圖
          2. 利用UML工具反向生成些類圖,包圖, 還可自己動手畫一些流程圖,時序圖和協作圖
          3. 利用調試工具,通過設斷點,單步調試,設觀察哨等手段看看到底它是怎么運行的
          4. 寫一些簡單的測試程序,通過斷言,日志來驗證自己的判斷
          5. 如有可能,和代碼的原作者或其他維護者一起做Code Review


          附Code Reading目錄, 建議重點閱讀第10章, 希望多多提高自己,積累經驗,將來也可以寫一本關于代碼閱讀的書
          第1章 導論
          1.1 為什么以及如何閱讀代碼
          1.2 如何閱讀本書
          進階讀物
          第2章 基本編程元素
          2.1 一個完整的程序
          2.2 函數和全局變量
          2.3 while循環、條件和塊
          2.4 switch語句
          2.5 for循環
          2.6 break和continue語句
          2.7 字符和布爾型表達式
          2.8 goto語句
          2.9 小范圍重構
          2.10 do循環和整型表達式
          2.11 再論控制結構
          進階讀物
          第3章 高級C數據類型
          3.1 指針
          3.2 結構
          3.3 共用體
          3.4 動態內存分配
          3.5 typedef聲明
          進階讀物
          第4章 C數據結構
          4.1 向量
          4.2 矩陣和表
          4.3 棧
          4.4 隊列
          4.5 映射
          4.6 集合
          4.7 鏈表
          4.8 樹
          4.9 圖
          進階讀物
          第5章 高級控制流程
          5.1 遞歸
          5.2 異常
          5.3 并行處理
          5.4 信號
          5.5 非局部跳轉
          5.6 宏替換
          進階讀物
          第6章 應對大型項目
          6.1 設計與實現技術
          6.2 項目的組織
          6.3 編譯過程和制作文件
          6.4 配置
          6.5 修訂控制
          6.6 項目的專有工具
          6.7 測試
          進階讀物
          第7章 編碼規范和約定
          7.1 文件的命名及組織
          7.2 縮進
          7.3 編排
          7.4 命名約定
          7.5 編程實踐
          7.6 過程規范
          進階讀物
          第8章 文檔
          8.1 文檔的類型
          8.2 閱讀文檔
          8.3 文檔存在的問題
          8.4 其他文檔來源
          8.5 常見的開放源碼文檔格式
          進階讀物
          第9章 系統構架
          9.1 系統的結構
          9.2 控制模型
          9.3 元素封裝
          9.4 構架重用
          進階讀物
          第10章 代碼閱讀工具
          10.1 正規表達式
          10.2 用編輯器瀏覽代碼
          10.3 用grep搜索代碼
          10.4 找出文件的差異
          10.5 開發自己的工具
          10.6 用編譯器來協助代碼閱讀
          10.7 代碼瀏覽器和美化器
          10.8 運行期間的工具
          10.9 非軟件工具
          可用工具和進階讀物
          第11章 一個完整的例子
          11.1 概況
          11.2 攻堅計劃
          11.3 代碼重用
          11.4 測試與調試
          11.5 文檔
          11.6 觀察報告
          附錄A 代碼概況
          附錄B 閱讀代碼的格言

          posted on 2008-01-06 21:35 fantasyamin 閱讀(3079) 評論(2)  編輯  收藏

          評論

          # re: 閱讀代碼的方法 2008-01-07 09:31 HiMagic!

          寫代碼是件很爽的事,但看代碼甚至是改代碼是件很不爽的事。  回復  更多評論   

          # re: 閱讀代碼的方法 2008-01-10 00:07 過河卒

          一年前也就這個問題發過帖子,類似于,什么源代碼閱讀技巧,工具什么的?不過被人認定為新手貼。郁悶了好久,其實大家都知道讀代碼不容易,其實讀代碼也是有很多技巧的,但是很多人就是認為讀代碼的就是新手,就是水平有問題?,F在想想,這的不知道到底誰的水平有問題。
            回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 西丰县| 九江市| 利辛县| 城口县| 徐闻县| 阳谷县| 松潘县| 广丰县| 兴业县| 剑川县| 阜康市| 晋城| 嘉荫县| 乌什县| 教育| 霍林郭勒市| 西畴县| 民勤县| 冕宁县| 涟源市| 民县| 永吉县| 嘉峪关市| 沾益县| 双柏县| 友谊县| 西贡区| 湖北省| 康保县| 中牟县| 尼勒克县| 临清市| 阿克苏市| 大余县| 江孜县| 房山区| 阿鲁科尔沁旗| 松潘县| 曲松县| 福贡县| 宝兴县|