ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
            • 作法(Mechanics)
            • 檢查函數,確定它不具多態性(is not polymorphic).==>如果subclass繼承了這個函數,就不要將此函數inline化,因為subclass無法覆寫(override)一個根本不存在的函數.
            • 找出這個函數的所有被調用點.
            • 將這個函數的所有被調用點都替換為函數本體(代碼).
            • 編譯,測試.
            • 刪除該函數的定義.

          被我這樣一寫,Inline Method(117)似乎很簡單.但情況往往并非如此.對于遞歸調用,多返回點,inline至另一個對象中而該對象并無提供訪問函數(accessors)......,每一種情況我都可以寫上好幾頁.我之所以不寫這些特殊情況,原因很簡單:如果你遇到了這樣的復雜情況,那么就不應該使用這個重構手法.

          posted on 2005-08-24 17:28 ivaneeo 閱讀(196) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 溧阳市| 汨罗市| 新沂市| 寿光市| 方城县| 偏关县| 许昌市| 平安县| 牡丹江市| 松滋市| 惠东县| 达孜县| 台南市| 肥东县| 邳州市| 兴和县| 阿勒泰市| 安义县| 涿鹿县| 化隆| 甘谷县| 丹江口市| 留坝县| 奉新县| 通道| 赤壁市| 铁力市| 阳高县| 遵义县| 大宁县| 华安县| 剑阁县| 云林县| 蒙阴县| 平武县| 屏东县| 阿拉尔市| 晋州市| 南靖县| 图们市| 阳高县|