ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          動機(Motivation)
          有時候你會遇到某些函數,其內部代碼和函數名稱同樣清晰易讀.

          另一種需要使用Inline Method(117)的情況是:你手上有一群組織不甚合理的函數.你可以將它們都inline到一個大型函數中,再從中提煉出組織合理的小型函數.Kent Beck發現,實施Replace Method with Method Object(135)之前先這么做,往往可以獲得不錯的效果.你可以把你所要的函數(有著你要的行為)的所有調用對象的函數內容都inline到method object(函數對象)中.比起既要移動一個函數,又要移動它所調用的其他所有函數,[將大型函數作為單一整體來移動]會比較簡單.

          如果別人使用了太多間接層,使得系統中的所有函數都似乎只是對另一個函數的簡單委托(delegation),造成我在這些委托動作之間暈頭轉向,那么我通常都會使用Inline Method(117).當然,間接層有其價值,但不是所有間接層都有價值.試著使用inlining,我可以找出那些有用的間接層,同時將那些無用的間接層去除.
          posted on 2005-08-24 17:12 ivaneeo 閱讀(192) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 余庆县| 平舆县| 富锦市| 光山县| 明溪县| 通江县| 河北省| 武宣县| 武清区| 五大连池市| 丽江市| 改则县| 乌拉特后旗| 泌阳县| 德化县| 辽阳市| 丰县| 房产| 甘南县| 盘山县| 栾城县| 北海市| 中江县| 丽水市| 定远县| 吉隆县| 宿州市| 丘北县| 商河县| 元江| 龙游县| 蓝田县| 万荣县| 玉门市| 克什克腾旗| 临夏县| 彩票| 怀安县| 太仓市| 安吉县| 宁波市|