• <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 一秋草木 閱讀(323) 評論(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、系統中每個概念都應該有專有的名稱

             

             

             

             

             

             

            婷婷久久综合| 99久久精品费精品国产一区二区| 99久久亚洲综合精品成人| 久久精品无码午夜福利理论片 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 热99re久久国超精品首页| 久久精品综合一区二区三区| 中文字幕精品无码久久久久久3D日动漫 | 怡红院日本一道日本久久| 久久无码AV中文出轨人妻| 国产美女亚洲精品久久久综合| 久久精品国产清高在天天线| 久久久久久亚洲精品无码| 久久久av波多野一区二区| 久久天天躁狠狠躁夜夜av浪潮| 久久这里只有精品18| 91亚洲国产成人久久精品| 亚洲成色WWW久久网站| 精品无码人妻久久久久久| 久久久噜噜噜www成人网| 久久笫一福利免费导航| 国产精品成人无码久久久久久 | 久久精品国产亚洲av水果派 | 久久香蕉超碰97国产精品| 久久丝袜精品中文字幕| 国产A级毛片久久久精品毛片| 亚洲狠狠婷婷综合久久久久| 性做久久久久久久久久久| 久久福利青草精品资源站| 亚洲国产精品一区二区久久hs| 蜜臀久久99精品久久久久久 | 久久久无码精品亚洲日韩京东传媒 | 亚洲精品无码久久久影院相关影片| 午夜视频久久久久一区| 久久精品成人一区二区三区| 国产激情久久久久影院老熟女免费 | 亚洲综合伊人久久大杳蕉| 国产精品久久久久免费a∨| 青青久久精品国产免费看| 亚洲午夜无码久久久久小说| 亚洲国产成人精品无码久久久久久综合 |