ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          動機(Motivation)
          我在本書中不斷向讀者強調小型函數的優美動人。只要將相對獨立的代碼從大型函數中提煉出來,就可以大大提高代碼的可讀性。

          但是,局部變量的存在會增加函數分解難度。如果一個函數之中局部變量泛濫成災,那么想分解這個函數是非常困難的。Replace Temp with Query(120)可以助你減輕這一負擔,但有時候你會發現根本無法拆解的函數。這種情況下,你應該把手深深地伸入你的工具箱(好酒沉甕底呢),祭出函數對象(method object)這件法寶。

          Replace Method with Method Object(135)會將所有局部變量都變成函數對象(method object)的值域(field)。然后你就可以對這個新對象使用Extract Method(110)創造出新函數,從而將原本的大型函數拆解變短。
          posted on 2005-08-29 15:56 ivaneeo 閱讀(179) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 三江| 凤山市| 锡林浩特市| 保康县| 宝清县| 砀山县| 南宫市| 望奎县| 常山县| 镇原县| 伊金霍洛旗| 普宁市| 阳西县| 封开县| 晋江市| 鸡泽县| 南郑县| 通海县| 邻水| 青岛市| 新营市| 宾川县| 金溪县| 前郭尔| 汶川县| 淳安县| 安康市| 鄂州市| 礼泉县| 肇东市| 宜宾县| 克什克腾旗| 富宁县| 大港区| 营口市| 蒙阴县| 上思县| 宁乡县| 沅江市| 米易县| 荔波县|