• <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 人類的全部才能無非是時(shí)間和耐心的混合物
            posts - 11, comments - 13, trackbacks - 0, articles - 12
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            zz如何閱讀別人代碼 1

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

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

            第一章:?導(dǎo)論

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


            1.要養(yǎng)成一個(gè)習(xí)慣,?經(jīng)常花時(shí)間閱讀別人編寫的高品質(zhì)代碼.

            2.要有選擇地閱讀代碼,?同時(shí),?還要有自己的目標(biāo).?您是想學(xué)習(xí)新的模式|編碼風(fēng)格|還
            是滿足某些需求的方法.

            3.要注意并重視代碼中特殊的非功能性需求,?這些需求也許會導(dǎo)致特殊的實(shí)現(xiàn)風(fēng)格.

            4.在現(xiàn)有的代碼上工作時(shí),?請與作者和維護(hù)人員進(jìn)行必要的協(xié)調(diào),?以避免重復(fù)勞動(dòng)或產(chǎn)
            生厭惡情緒.

            5.請將從開放源碼軟件中得到的益處看作是一項(xiàng)貸款,?盡可能地尋找各種方式來回報(bào)開
            放源碼社團(tuán).

            6.多數(shù)情況下,?如果您想要了解"別人會如何完成這個(gè)功能呢?",?除了閱讀代碼以外,?沒
            有更好的方法.

            7.在尋找bug時(shí),?請從問題的表現(xiàn)形式到問題的根源來分析代碼.?不要沿著不相關(guān)的路徑
            (誤入歧途).

            8.我們要充分利用調(diào)試器|編譯器給出的警告或輸出的符號代碼|系統(tǒng)調(diào)用跟蹤器|數(shù)據(jù)庫
            結(jié)構(gòu)化查詢語言的日志機(jī)制|包轉(zhuǎn)儲工具和Windows的消

            息偵查程序,?定出的bug的位置.

            9.對于那些大型且組織良好的系統(tǒng),?您只需要最低限度地了解它的全部功能,?就能夠?qū)?br />它做出修改.

            10.當(dāng)向系統(tǒng)中增加新功能時(shí),?首先的任務(wù)就是找到實(shí)現(xiàn)類似特性的代碼,?將它作為待實(shí)
            現(xiàn)功能的模板.

            11.從特性的功能描述到代碼的實(shí)現(xiàn),?可以按照字符串消息,?或使用關(guān)鍵詞來搜索代碼.


            12.在移植代碼或修改接口時(shí),?您可以通過編譯器直接定位出問題涉及的范圍,?從而減少
            代碼閱讀的工作量.

            13.進(jìn)行重構(gòu)時(shí),?您從一個(gè)能夠正常工作的系統(tǒng)開始做起,?希望確保結(jié)束時(shí)系統(tǒng)能夠正常
            工作.?一套恰當(dāng)?shù)臏y試用例(test?case)可以幫助您滿

            足此項(xiàng)約束.

            14.閱讀代碼尋找重構(gòu)機(jī)會時(shí),?先從系統(tǒng)的構(gòu)架開始,?然后逐步細(xì)化,?能夠獲得最大的效
            益.

            15.代碼的可重用性是一個(gè)很誘人,?但難以理解與分離,?可以試著尋找粒度更大一些的包
            ,?甚至其他代碼.

            16.在復(fù)查軟件系統(tǒng)時(shí),?要注意,?系統(tǒng)是由很多部分組成的,?不僅僅只是執(zhí)行語句.?還要
            注意分析以下內(nèi)容:?文件和目錄結(jié)構(gòu)|生成和配置過程|

            用戶界面和系統(tǒng)的文檔.

            18.可以將軟件復(fù)查作為一個(gè)學(xué)習(xí)|講授|援之以手和接受幫助的機(jī)會.
            一本久久a久久精品综合香蕉| 无码国内精品久久人妻| 久久国产精品成人免费| 大伊人青草狠狠久久| 91精品国产91久久| 亚洲色欲久久久久综合网| 久久久久亚洲AV无码观看| 久久精品国产亚洲av麻豆色欲| 国产产无码乱码精品久久鸭| 久久99精品久久久久久不卡| 亚洲中文久久精品无码ww16 | 久久综合一区二区无码| 少妇熟女久久综合网色欲| 色综合久久久久无码专区| 国产日韩久久久精品影院首页| 亚洲精品午夜国产va久久| 国内精品久久国产大陆| 久久精品免费全国观看国产| 久久久久一区二区三区| 奇米综合四色77777久久| 久久精品二区| 99久久人人爽亚洲精品美女| 久久亚洲精品人成综合网| 亚洲精品tv久久久久| 777久久精品一区二区三区无码| 国产精品成人久久久| 久久午夜福利电影| 国产精品视频久久| 蜜臀久久99精品久久久久久小说| 久久精品国产99久久久香蕉| 高清免费久久午夜精品| 久久99精品久久久久子伦| 国内精品伊人久久久久777| 亚洲国产高清精品线久久| 精品久久久久久无码人妻蜜桃| 久久亚洲国产午夜精品理论片| 天天躁日日躁狠狠久久 | 久久e热在这里只有国产中文精品99 | 狠狠色丁香婷婷久久综合| 青青草国产97免久久费观看| 国产精品美女久久久久av爽 |