• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            技術,瞎侃,健康,休閑……

            mahu@cppblog 人類的全部才能無非是時間和耐心的混合物
            posts - 11, comments - 13, trackbacks - 0, articles - 12
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            zz如何閱讀別人代碼 10

            Posted on 2006-06-26 22:52 mahudu@cppblog 閱讀(205) 評論(0)  編輯 收藏 引用 所屬分類: Programming
            ???
            +++++++++++++++++

            第十章:?代碼閱讀工具

            +++++++++++++++++


            223.詞匯工具可以高效地在一個大代碼文件中或者跨多個文件查找某種模式.

            224.使用程序編輯器和正則表達式查找命令,?瀏覽龐大的源代碼文件.

            225.以只讀方式瀏覽源代碼文件.

            226.使用正則表達式?^function?name?可以找出函數的定義.

            227.使用正則表達式的字符類,?可以查找名稱遵循特定模式的變量.

            228.使用正則表達式的否定字符類,?可以避免非積極匹配.

            229.使用正則表達式?symbol-1.?*symbol-2,?可以查找出現在同一行的符號.

            230.使用編輯器的?tags?功能,?可以快速地找出實體的定義.

            231.可以用特定的?tag?創建工具,?增加編輯器的瀏覽功能.

            232.使用編輯器的大綱視圖,?可以獲得源代碼結構的鳥瞰圖.

            233.使用您的編輯器來檢測源代碼中圓括號|方括號和花括號的匹配.

            234.使用?grep?跨多個文件查找代碼模式.

            235.使用?grep?定位符號的聲明|定義和應用.

            236.當您不能精確地表述要查找的內容時,?請使用關鍵單詞的詞干對程序的源代碼進行
            查找.

            237.用?grep?過濾其他工具生成的輸出,?分離出您要查找的項.

            238.將?grep?的輸出輸送到其他工具,?使復雜處理任務自動化.

            239.通過對?grep?的輸出進行流編輯,?重用代碼查找的結果.

            240.通過選取與噪音模式不匹配的輸出行(grep-v),?過濾虛假的?grep?輸出.

            241.使用?fgrep?在源代碼中查找字符串列表.

            242.查找注釋,?或標識符大小寫不敏感的語言編寫的代碼時,?要使用大小寫不敏感的模
            式匹配(grep?-i).

            243.使用?grep?–n?命令行開關,?可以創建與給定正則表達式匹配的文件和行號的檢查
            表.

            244.可以使用?diff?比較文件或程序不同版本之間的差別.

            245.在運行?diff?命令時,?可以使用?diff?–b,?使文件比較算法忽略結尾的空格,?用?
            –w?忽略所有空白區域的差異,?用?–i?使文件比較對大

            小寫不敏感.

            246.不要對創建自己的代碼閱讀工具心存畏懼.

            247.在構建自己的代碼閱讀工具時:?要充分利用現代快速原型語言所提供的能力;?從簡
            單開始,?根據需要逐漸改進;?使用利用代碼詞匯結構的

            各種試探法;?要允許一些輸出噪音或寂靜(無關輸出或缺失輸出);?使用其他工具對輸入
            進行預處理,?或者對輸出進行后期處理.

            248.要使編譯器成為您的:?指定恰當級別的編譯器警告,?并小心地評估生成的結果.

            249.使用C預處理器理清那些濫用預處理器特性的程序.

            250.要徹底地了解編譯器如何處理特定的代碼塊,?需要查看生成的符號(匯編)代碼.

            251.通過分析相應目標文件中的符號,?可以清晰地了解源文件的輸入和輸出.

            252.使用源代碼瀏覽器瀏覽大型的代碼集合以及對象類型.

            253.要抵制住按照您的編碼規范對外部代碼進行美化的誘惑;?不必要的編排更改會創建
            不同的代碼,?并妨礙工作的組織.

            254.優美打印程序和編輯器語法著色可以使得程序的源代碼為易讀.

            255.cdecl?程序可以將難以理解的C和C++類型聲明轉換成純英語(反之亦然).

            256.實際運行程序,?往往可以更深刻地理解程序的動作.

            257.系統調用|事件和數據包跟蹤程序可以增進對程序動作的理解.

            258.執行剖析器可以找出需要著重優化的代碼,?驗證輸入數據的覆蓋性,?以及分析算法
            的動作.

            259.通過檢查從未執行的代碼行,?可以找出測試覆蓋的弱點,?并據此修正測試數據.

            260.要探究程序動態動作時的每個細節,?需要在調試器中運作它.

            261.將您覺得難以理解的代碼打印到紙上.

            262.可以繪制圖示來描繪代碼的動作.

            263.可以試著向別人介紹您在閱讀的代碼,?這樣做一般會增進您對代碼的理解.

            264.理解復雜的算法或巧妙的數據結構,?要選擇一個安靜的環境,?然后聚精會神地考慮
            ,?不要借助于任何計算機化或自動化的幫助.
            AV无码久久久久不卡蜜桃| 国产精品久久久久久一区二区三区| 香蕉久久一区二区不卡无毒影院 | 国产精品久久久久9999高清| 精品久久久久久久无码| 国产99久久久久久免费看| 亚洲?V乱码久久精品蜜桃| 激情伊人五月天久久综合| 久久九九久精品国产| 久久丫精品国产亚洲av| 久久婷婷五月综合97色直播| 无码人妻少妇久久中文字幕蜜桃 | 97久久国产露脸精品国产 | 亚洲第一极品精品无码久久| 精品久久久久久无码专区| 日韩电影久久久被窝网| 一级做a爰片久久毛片16| 欧美牲交A欧牲交aⅴ久久| 久久国产精品无码网站| 久久99国产亚洲高清观看首页| 要久久爱在线免费观看| 国产精品99久久久久久www| 久久国产精品久久国产精品| 久久久国产精华液| 亚洲国产成人精品无码久久久久久综合| 国产午夜精品理论片久久影视| 无码八A片人妻少妇久久| 久久男人中文字幕资源站| 伊人久久大香线蕉影院95| 国产69精品久久久久777| 色偷偷偷久久伊人大杳蕉| 无码日韩人妻精品久久蜜桃| 久久久久青草线蕉综合超碰| 99久久综合国产精品免费| 亚洲欧美国产精品专区久久 | 国产激情久久久久影院老熟女免费 | 久久午夜电影网| 久久亚洲国产欧洲精品一| 久久香蕉综合色一综合色88| 色成年激情久久综合| 国产精品久久久久久久久久免费|