• <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>

            技術(shù),瞎侃,健康,休閑……

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

            zz如何閱讀別人代碼 2

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

            第二章:?基本編程元素

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


            19.第一次分析一個(gè)程序時(shí),?main是一個(gè)好的起始點(diǎn).

            20.層疊if-else?if-...-else序列可以看作是由互斥選擇項(xiàng)組成的選擇結(jié)構(gòu).

            21.有時(shí),?要想了解程序在某一方面的功能,?運(yùn)行它可能比閱讀源代碼更為恰當(dāng).

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

            23.了解局部的命名約定,?利用它們來(lái)猜測(cè)變量和函數(shù)的功能用途.

            24.當(dāng)基于猜測(cè)修改代碼時(shí),?您應(yīng)該設(shè)計(jì)能夠驗(yàn)證最初假設(shè)的過(guò)程.?這個(gè)過(guò)程可能包括用
            編譯器進(jìn)行檢查|引入斷言|或者執(zhí)行適當(dāng)?shù)臏y(cè)試用例.

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

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

            27.要養(yǎng)成遇到庫(kù)元素就去閱讀相關(guān)文檔的習(xí)慣;?這將會(huì)增強(qiáng)您閱讀和編寫代碼的能力.


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

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

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


            31.我們經(jīng)常可以將表達(dá)式應(yīng)用在樣本數(shù)據(jù)上,?借以了解它的含義.

            32.使用De?Morgan法則簡(jiǎn)化復(fù)雜的邏輯表達(dá)式.

            33.在閱讀邏輯乘表達(dá)式時(shí),?問(wèn)題可以認(rèn)為正在分析的表達(dá)式以左的表達(dá)式均為true;?在
            閱讀邏輯和表達(dá)式時(shí),?類似地,?可以認(rèn)為正在分析的表

            達(dá)式以左的表達(dá)式均為false.

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

            35.將使用條件運(yùn)行符??:的表達(dá)式理解為if代碼.

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

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

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

            39.我們可以使用空格|臨時(shí)變量和括號(hào)提高表達(dá)式的易讀性.

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

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

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

            縮進(jìn)層次而引入的噪音.

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

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

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

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

            47.每次只分析一個(gè)控制結(jié)構(gòu),?將它的內(nèi)容看作是一個(gè)黑盒.

            48.將每個(gè)控制結(jié)構(gòu)的控制表達(dá)式看作是它所包含代碼的斷言.

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

            因此要單獨(dú)推理它們的行為.

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

            51.使用保持含義不變的變換重新安排代碼,?簡(jiǎn)化代碼的推理工作.
            久久99热只有频精品8| 国产福利电影一区二区三区久久老子无码午夜伦不 | 国产精品成人无码久久久久久| 国产精品久久久久久五月尺| 日韩电影久久久被窝网| 偷偷做久久久久网站| 久久99精品国产| 久久国产精品国语对白| 一本色道久久99一综合| 久久99国产一区二区三区| 亚洲精品白浆高清久久久久久| 精品久久久久久中文字幕| 久久国产精品二国产精品| 久久99国产综合精品| 四虎国产精品成人免费久久| www.久久热.com| 精品伊人久久大线蕉色首页| 国产一区二区三精品久久久无广告| 久久综合亚洲鲁鲁五月天| 久久国产亚洲精品麻豆| 亚洲成色www久久网站夜月| 一本大道久久a久久精品综合| 久久久久亚洲AV片无码下载蜜桃| 国产精品99久久久久久www| 要久久爱在线免费观看| 国产精品免费久久久久电影网| 亚洲精品乱码久久久久久按摩 | 久久精品国产72国产精福利| 伊人久久大香线蕉综合网站| 2020最新久久久视精品爱| 精品久久久久久久无码| 国产精品无码久久久久久| 无码精品久久久天天影视| 亚洲欧美日韩中文久久| 中文字幕人妻色偷偷久久| 久久久久久久精品成人热色戒| 亚洲精品WWW久久久久久| 99久久精品免费看国产一区二区三区 | 国产叼嘿久久精品久久| 欧美久久综合性欧美| 精品久久久久久99人妻|