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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

            足此項(xiàng)約束.

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

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

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

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

            18.可以將軟件復(fù)查作為一個(gè)學(xué)習(xí)|講授|援之以手和接受幫助的機(jī)會(huì).
            亚洲国产精品狼友中文久久久| 四虎国产永久免费久久| 久久五月精品中文字幕| 欧美精品福利视频一区二区三区久久久精品 | 深夜久久AAAAA级毛片免费看| 国产精品VIDEOSSEX久久发布| 久久九色综合九色99伊人| 人妻无码久久精品| 久久婷婷五月综合97色一本一本 | 久久久久亚洲?V成人无码| 狠狠色丁香婷婷久久综合| 狠狠色丁香久久婷婷综合五月| 丁香久久婷婷国产午夜视频| 久久精品国产AV一区二区三区 | 久久久WWW免费人成精品| 伊人久久久AV老熟妇色| 色综合久久综精品| 亚洲精品tv久久久久久久久 | 精品少妇人妻av无码久久| 久久男人AV资源网站| 国产精品一区二区久久不卡| 亚洲色欲久久久久综合网| 91精品国产91久久久久久青草 | 国内精品伊人久久久影院| 亚洲国产成人久久综合碰碰动漫3d | 日韩精品久久久久久免费| 久久综合给合综合久久| 久久99精品久久久久婷婷| 久久国产亚洲精品| 日本道色综合久久影院| 久久99精品久久久久久动态图| 色天使久久综合网天天| 91精品免费久久久久久久久| 亚洲va久久久噜噜噜久久| 亚洲综合熟女久久久30p| 婷婷久久综合| 久久男人AV资源网站| 久久影视综合亚洲| 久久99这里只有精品国产| 欧美久久综合性欧美| 久久久久99精品成人片牛牛影视|