• <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、系統中每個概念都應該有專有的名稱

             

             

             

             

             

             

            久久久WWW成人免费毛片| 奇米综合四色77777久久| 午夜精品久久影院蜜桃| 麻豆精品久久久久久久99蜜桃| 久久精品国产日本波多野结衣| 99久久国产热无码精品免费 | 天天做夜夜做久久做狠狠| 无码乱码观看精品久久| 国产精品久久久久久影院| 久久青青国产| 亚洲欧美精品伊人久久| 久久亚洲AV无码精品色午夜麻豆| 国产精品久久久久久久久免费 | 久久久久亚洲精品中文字幕| 亚洲国产精品无码久久久秋霞2 | 亚洲美日韩Av中文字幕无码久久久妻妇 | 99久久伊人精品综合观看| 亚洲精品无码久久久久AV麻豆| 国产亚洲欧美成人久久片| 精品国产乱码久久久久软件| 久久综合视频网站| 国产精品青草久久久久福利99 | 久久电影网一区| 久久久久AV综合网成人 | 久久久久久久久无码精品亚洲日韩 | 青青青伊人色综合久久| 亚洲女久久久噜噜噜熟女| 一级女性全黄久久生活片免费| 久久成人国产精品一区二区| WWW婷婷AV久久久影片| 丁香狠狠色婷婷久久综合| 人妻无码αv中文字幕久久| 色诱久久久久综合网ywww | 99久久er这里只有精品18| 久久夜色精品国产噜噜麻豆| 日韩人妻无码精品久久免费一 | …久久精品99久久香蕉国产| 99久久免费国产精精品| 四虎国产永久免费久久| 精品久久久无码中文字幕| 久久乐国产精品亚洲综合|