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-從地獄中重生
          主站蜘蛛池模板: 库伦旗| 台州市| 青田县| 延津县| 临湘市| 景德镇市| 兴仁县| 寿阳县| 湖州市| 三穗县| 潼关县| 娱乐| 芮城县| 葫芦岛市| 定陶县| 界首市| 含山县| 上饶县| 清水河县| 河东区| 盐池县| 德保县| 铜山县| 甘谷县| 鹤山市| 静乐县| 姚安县| 临泉县| 特克斯县| 安阳市| 石阡县| SHOW| 东阳市| 长葛市| 宜君县| 桃园县| 山阴县| 鄂伦春自治旗| 江孜县| 西盟| 沈阳市|