ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          作法(Mechanics)
            • 建立一個新class,根據[待被處理之函數]的用途,為這個class命名。
            • 在新class中建立一個final值域,用以保存原先大型函數所駐對象。我們將這個值域稱為[源對象]。同時,針對原(舊)函數的每個臨時變量和每個參數,在新class中建立一個個對應的值域保存之。
            • 在新class中建立一個構造函數(constructor),接收源對象及原函數的所有參數作為參數。
            • 在新class中建立一個compute()函數。
            • 將原(舊)函數的代碼拷貝到compute()函數中。如果需要調用源對象的任何函數,請以[源對象]值域調用。
            • 編譯。
            • 將舊函數的函數本體替換為這樣一條語句:[創建上述新class的一個新對象,而后調用其中的compute()函數]。
          現在進行到很有趣的部分了。由于所有局部變量現在都成了值域,所以你可以任意分解這個大型函數,不必傳遞任何參數。
          posted on 2005-08-29 16:13 ivaneeo 閱讀(148) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 苏尼特右旗| 渑池县| 奉节县| 广西| 广河县| 洞头县| 四川省| 朝阳区| 定襄县| 建平县| 孝感市| 会同县| 青阳县| 仙游县| 蒙阴县| 利辛县| 明星| 本溪| 墨脱县| 湘潭市| 时尚| 电白县| 太谷县| 遵化市| 南丹县| 高邮市| 凉城县| 电白县| 类乌齐县| 云霄县| 华蓥市| 大厂| 南靖县| 英山县| 福贡县| 楚雄市| 永胜县| 黎平县| 资阳市| 云阳县| 文登市|