• <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如何閱讀別人代碼 2

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

            第二章:?基本編程元素

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


            19.第一次分析一個程序時,?main是一個好的起始點.

            20.層疊if-else?if-...-else序列可以看作是由互斥選擇項組成的選擇結構.

            21.有時,?要想了解程序在某一方面的功能,?運行它可能比閱讀源代碼更為恰當.

            22.在分析重要的程序時,?最好首先識別出重要的組成部分.

            23.了解局部的命名約定,?利用它們來猜測變量和函數的功能用途.

            24.當基于猜測修改代碼時,?您應該設計能夠驗證最初假設的過程.?這個過程可能包括用
            編譯器進行檢查|引入斷言|或者執(zhí)行適當的測試用例.

            25.理解了代碼的某一部分,?可能幫助你理解余下的代碼.

            26.解決困難的代碼要從容易的部分入手.

            27.要養(yǎng)成遇到庫元素就去閱讀相關文檔的習慣;?這將會增強您閱讀和編寫代碼的能力.


            28.代碼閱讀有許多可選擇的策略:?自底向上和自頂向下的分析|應用試探法和檢查注釋
            和外部文檔,?應該依據問題的需要嘗試所有這些方法.

            29.for?(i=0;?i<n;?i++)形式的循環(huán)執(zhí)行n次;?其他任何形式都要小心.

            30.涉及兩項不等測試(其中一項包括相等條件)的比較表達式可以看作是區(qū)間成員測試.


            31.我們經常可以將表達式應用在樣本數據上,?借以了解它的含義.

            32.使用De?Morgan法則簡化復雜的邏輯表達式.

            33.在閱讀邏輯乘表達式時,?問題可以認為正在分析的表達式以左的表達式均為true;?在
            閱讀邏輯和表達式時,?類似地,?可以認為正在分析的表

            達式以左的表達式均為false.

            34.重新組織您控制的代碼,?使之更為易讀.

            35.將使用條件運行符??:的表達式理解為if代碼.

            36.不需要為了效率,?犧牲代碼的易讀性.

            37.高效的算法和特殊的優(yōu)化確實有可能使得代碼更為復雜,?從而更難理解,?但這并不意
            味著使代碼更為緊湊和不易讀會提高它的效率.

            38.創(chuàng)造性的代碼布局可以用來提高代碼的易讀性.

            39.我們可以使用空格|臨時變量和括號提高表達式的易讀性.

            40.在閱讀您所控制的代碼時,?要養(yǎng)成添加注釋的習慣.

            41.我們可以用好的縮進以及對變量名稱的明智選擇,?提高編寫欠佳的程序的易讀性.

            42.用diff程序分析程序的修訂歷史時,?如果這段歷史跨越了整體重新縮排,?常常可以通
            過指定-w選項,?讓diff忽略空白差異,?避免由于更改了

            縮進層次而引入的噪音.

            43.do循環(huán)的循環(huán)體至少執(zhí)行一次.

            44.執(zhí)行算術運算時,?當b=2n-1時,?可以將a&b理解為a%(b+1).

            45.將a<<n理解為a*k,?k=2n.

            46.將a>>n理解為a/k,?k=2n.

            47.每次只分析一個控制結構,?將它的內容看作是一個黑盒.

            48.將每個控制結構的控制表達式看作是它所包含代碼的斷言.

            49.return,?goto,?break和continue語句,?還有異常,?都會影響結構化的執(zhí)行流程.?由
            于這些語句一般都會終止或重新開始正在進行的循環(huán),

            因此要單獨推理它們的行為.

            50.用復雜循環(huán)的變式和不變式,?對循環(huán)進行推理.

            51.使用保持含義不變的變換重新安排代碼,?簡化代碼的推理工作.
            久久亚洲AV无码精品色午夜麻豆 | 久久99国产精品久久久| 激情伊人五月天久久综合| 久久综合狠狠色综合伊人| 久久人人爽人人爽人人av东京热| www性久久久com| 99久久99久久精品国产| 国产精品久久影院| 久久久久无码精品国产| 三级三级久久三级久久| 久久无码人妻一区二区三区 | 中文字幕久久波多野结衣av| 久久精品国产亚洲Aⅴ蜜臀色欲 | 久久综合狠狠综合久久激情 | 久久久久久无码国产精品中文字幕| 狠狠综合久久综合88亚洲| 国产ww久久久久久久久久| 久久99精品久久久久久| 一本久久免费视频| 亚洲国产一成久久精品国产成人综合 | 秋霞久久国产精品电影院| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲伊人久久大香线蕉综合图片| 成人a毛片久久免费播放| 精品无码久久久久久尤物| 精品久久久久成人码免费动漫| 成人精品一区二区久久久| 91精品国产9l久久久久| 久久精品亚洲一区二区三区浴池 | 中文字幕久久亚洲一区| 久久久99精品成人片中文字幕 | 久久久久亚洲AV无码专区首JN| 99久久精品国产毛片| 久久精品国产久精国产| 久久国产精品77777| 久久精品亚洲日本波多野结衣| 久久久久高潮综合影院| 亚洲日本久久久午夜精品| 精品综合久久久久久97| 亚洲午夜无码AV毛片久久| 欧美久久一区二区三区|