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

            一秋草木

            Nothing Is Impossiable!
            posts - 11, comments - 10, trackbacks - 0, articles - 2
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            軟件預構藝術摘要(一)

            Posted on 2009-05-08 15:40 一秋草木 閱讀(340) 評論(0)  編輯 收藏 引用 所屬分類: C++讀書筆記

            主題觀點:

            1. Extreme readability

            2. Extreme separate

            3. Extreme abstraction

             

            詳細內容:

            Chp3

            1、不要使用基本數據類型。

            每種數據都有特定意義。具有使用規則、范圍等限制。使用基本數據類型會淹沒其信息特征。

             

            2、盡量重用已有的類或代碼。

            是否有替代的、類似的程序可用。是否有完全重新實現的必要性?

             

            3、被調用者檢測輸入參數的合法性

            相對于調用方,被調用者更熟悉該函數的使用環境,參數限制。

            通常情況下應該由被調用者檢測輸入數據。驗證規則。

             

            4、不使用magic number

             

            5、工具要善用

            盡量使用熟悉的工具進行工作,提高效率

            同時新的工具增加了新的選擇。

            所以需要根據實際情況作出選擇。

             

            6、記錄決策分支

            當一個問題存在多種解決辦法時,需要記錄問什么采用當前的解決方式。以備將來需求發生變化的時候進行快速決策。

             

            7、對失敗的地方要分析失敗原因、如何避免不不犯相似的錯誤。

             

            8、質量比單純地追求速度更重要

            因為慢速的系統至少可以作為參考平臺。并且可以針對瓶頸優化提高性能。

            錯誤的系統修改為正確的系統工作量更大,更困難。

             

            9、錯誤匯報

            錯誤情報應該對用戶有意義。包含兩部分信息:

            失敗的意義

            用戶可能會怎樣響應這樣的失敗

            例如:永久失敗、暫時失敗、瞬間失敗

            用戶需要采取的處理是不一樣的。

             

            10、錯誤記錄

            提供給用戶的錯誤情報是用于用戶決策的。

            對于內部的實現細節的錯誤,應該記錄。以備追蹤問題。

            11、不要自我重復

            信息應該有某個可靠的來源處。如果信息需要以不同的方式來運用,則應該有一個轉換的過程,將之從單一源轉換為其它形式。可以保證修改的地方只有一處。

             

            12、預構的態度

            讓重復情況無法發生。

            拷貝的是什么,是否應該移到單獨的函數中。

            如果在函數內實現另外的一個特定的算法,那么應該將該算法移到專用函數中。

             

            Chp2

            1、原型比圖形、文字更容易溝通

             

            2、將數據凝結成塊

            可以減少必須記住的概念的數量。

            把一組屬性結合到單一命名的概念中。

             

            3、概念細分

            結合兩個概念比分離一個概念來要簡單許多。

            message分為:errornotifywarning

             

            4、系統中每個概念都應該有專有的名稱

             

             

             

             

             

             

            国产精品欧美亚洲韩国日本久久| 一本久久精品一区二区| avtt天堂网久久精品| 久久精品国产影库免费看| 精品国产婷婷久久久| 伊人久久无码中文字幕| 久久99国产精品久久久 | 色综合久久88色综合天天| 国产呻吟久久久久久久92| 中文成人久久久久影院免费观看| 日日躁夜夜躁狠狠久久AV| 久久久久亚洲AV无码专区桃色| 久久人妻无码中文字幕| 亚洲精品国产成人99久久| 亚洲乱码中文字幕久久孕妇黑人| 激情久久久久久久久久| 丰满少妇高潮惨叫久久久| 久久精品国产亚洲av麻豆图片| 97久久精品无码一区二区| 久久久久久久女国产乱让韩| 成人午夜精品久久久久久久小说 | 亚洲精品无码久久久久久| 久久国产精品波多野结衣AV| 精品久久久久久亚洲| 亚洲精品乱码久久久久久蜜桃不卡 | 狠狠色丁香婷婷综合久久来来去| 国产成人精品综合久久久久| 无码8090精品久久一区 | 亚洲va久久久噜噜噜久久男同| 久久成人国产精品一区二区| 国产成人精品久久一区二区三区| 亚洲色大成网站www久久九| 久久精品视频一| 久久久WWW成人免费精品| 国产精品99久久久久久www| 久久成人精品视频| 香蕉久久夜色精品国产小说| 99热热久久这里只有精品68| 99久久www免费人成精品| 久久综合久久综合久久| 四虎国产永久免费久久|