ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          范例(Examples):無局部變量(No Local Variables)
          在最簡單的情況下,Extract Method(110)易如反掌。請看下列函數(shù):

          void printOwing() {
              Enumeration e = _orders.elements();
              double outstanding = 0.0;

              //print banner
              System.out.println("********************************");
              System.out.println("********* Customer Owes **********");
              System.out.println("********************************");

              // calculate outstanding
              while(e.hasMoreElements()) {
                 Order each = (Order) e.nextElement();
                 outstanding += each.getAmount();
              }

              //print details
             
          System.out.println("name:" + _name);
             
          System.out.println("amount" + outstanding);
          }

          我們可以輕松提煉出[打印banner]的代碼。我只需要剪切、粘貼、再插入一個函數(shù)調(diào)用動作就行了:

          void printOwing() {
              Enumeration e = _orders.elements();
              double outstanding = 0.0;

              printBanner();

              // calculate outstanding
              while(e.hasMoreElements()) {
                 Order each = (Order) e.nextElement();
                 outstanding += each.getAmount();
              }

              //print details
             
          System.out.println("name:" + _name);
             
          System.out.println("amount" + outstanding);
          }

          void printBanner() {
             
          //print banner
              System.out.println("********************************");
              System.out.println("********* Customer Owes **********");
              System.out.println("********************************");
          }
          posted on 2005-08-24 14:59 ivaneeo 閱讀(197) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 龙口市| 东明县| 福鼎市| 兰西县| 屯留县| 象州县| 景东| 仪征市| 广安市| 三河市| 龙海市| 武平县| 顺义区| 鄂托克旗| 闻喜县| 营口市| 高雄市| 曲周县| 长白| 青神县| 临安市| 富蕴县| 兴宁市| 利辛县| 措勤县| 繁昌县| 搜索| 上犹县| 札达县| 大洼县| 大余县| 防城港市| 庄浪县| 浦城县| 高安市| 汝南县| 夏邑县| 江阴市| 通河县| 彰武县| 石嘴山市|