ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          你的程序以一個臨時變量(temp)保存某一表達式的運算結果.

          將這個表達式提煉到一個獨立函數中.將這個臨時變量的所有[被引用點]替換為[對新函數的調用].新函數可被其他函數使用.

          double basePrice = _quantity * _itemPrice;
          if(basePrice > 1000)
             return basePrice * 0.95;
          else
             return basePrice * 0.98;
                                              |   |
                                              |   |
                                             \    /
          if(basePrice() > 1000)
             return basePrice() * 0.95;
          else
             return base() * 0.98;
          ...
          double basePrice() {
             return _quantity * _itemPrice;
          }
          posted on 2005-08-25 14:22 ivaneeo 閱讀(172) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 酉阳| 平泉县| 神木县| 武宁县| 赤壁市| 原平市| 来安县| 遵义县| 张家口市| 汾阳市| 阿巴嘎旗| 樟树市| 阿城市| 舞钢市| 卫辉市| 望奎县| 清苑县| 汉沽区| 沿河| 韩城市| 临高县| 佛山市| 靖安县| 清原| 白玉县| 洛阳市| 太谷县| 独山县| 依兰县| 利川市| 中宁县| 道孚县| 霍林郭勒市| 宝应县| 江北区| 澜沧| 天等县| 山东| 壤塘县| 琼中| 阿城市|