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 閱讀(191) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 莆田市| 承德市| 吉首市| 绥棱县| 株洲市| 宁城县| 峨眉山市| 宁明县| 淄博市| 乌兰浩特市| 六枝特区| 汪清县| 古丈县| 聂荣县| 荣成市| 泌阳县| 措美县| 吴旗县| 丹巴县| 瑞安市| 亚东县| 临澧县| 太和县| 海安县| 江都市| 岳普湖县| 长阳| 鹤山市| 满洲里市| 吴旗县| 溧水县| 吉林市| 崇左市| 温泉县| 鄂伦春自治旗| 五家渠市| 太仆寺旗| 建始县| 砚山县| 北宁市| 慈溪市|