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

             

             

             

             

             

             

            欧美精品一本久久男人的天堂| AV无码久久久久不卡蜜桃| 亚洲国产天堂久久综合网站| 久久精品国产亚洲AV不卡| 久久妇女高潮几次MBA| 国产精品99精品久久免费| 女同久久| 国产AV影片久久久久久| 亚洲国产精品无码久久一线| 国産精品久久久久久久| 午夜天堂av天堂久久久| 伊人久久综在合线亚洲2019| 亚洲AV无码久久精品成人| 久久综合伊人77777| 久久99精品国产99久久6男男| 国产99久久久国产精品小说| 国产成人精品久久一区二区三区av | 日韩久久久久久中文人妻| 国内精品久久久久久久久电影网 | 亚洲国产精品嫩草影院久久| 久久99精品国产99久久6男男| 99精品久久精品一区二区| 一本久久a久久精品综合香蕉 | 色欲久久久天天天综合网| 人妻无码精品久久亚瑟影视 | 久久精品无码专区免费青青| 99精品久久久久久久婷婷| 久久伊人精品一区二区三区| 一级女性全黄久久生活片免费 | 国产精品一区二区久久| 国内精品伊人久久久久av一坑| 新狼窝色AV性久久久久久| 东方aⅴ免费观看久久av| 亚洲成色www久久网站夜月 | 亚洲乱码精品久久久久..| 国产69精品久久久久9999APGF| 国产成人精品综合久久久久| 久久无码人妻一区二区三区午夜| 亚洲AV无码1区2区久久| 国产精品一久久香蕉国产线看观看| 国产精品久久久久9999|