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

             

             

             

             

             

             

            久久久久久夜精品精品免费啦| 久久99精品久久久久久水蜜桃| 亚洲欧美国产精品专区久久| 久久精品久久久久观看99水蜜桃| 久久亚洲精品中文字幕| 亚洲乱亚洲乱淫久久| 香蕉99久久国产综合精品宅男自 | 久久人妻少妇嫩草AV蜜桃| 欧美亚洲日本久久精品| 无遮挡粉嫩小泬久久久久久久| 国产精品内射久久久久欢欢| 伊人久久精品无码二区麻豆| 国产精品成人精品久久久| 综合网日日天干夜夜久久 | 欧美精品国产综合久久| 久久99精品国产麻豆宅宅| 欧美激情一区二区久久久| 久久精品女人天堂AV麻| 国产福利电影一区二区三区久久久久成人精品综合 | 久久影院久久香蕉国产线看观看| 亚洲AV无码久久精品成人| 久久久精品人妻无码专区不卡| 久久久久人妻一区精品色| 亚洲综合久久久| 久久黄色视频| 国产亚洲精午夜久久久久久| 久久精品视频免费| 国产精品久久久久久久| 精品久久久久久久久中文字幕| 久久人妻无码中文字幕| 久久久精品国产亚洲成人满18免费网站| 精品久久777| 国产精品无码久久综合| 日日躁夜夜躁狠狠久久AV| 久久久久久久久波多野高潮| 亚洲欧美一区二区三区久久| 国产亚州精品女人久久久久久 | 9999国产精品欧美久久久久久| 久久久久人妻一区精品性色av| 久久精品国产亚洲AV嫖农村妇女| 久久综合狠狠综合久久综合88|