<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

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

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    提取[常客積點計算]代碼
    首先我們需要針對[??头e點計算]這部分代碼(以下粗體部分)運用Extract Method(110)重構準則:
    public String statement() {
        double totalAmount = 0;
        int frequentRenterPoints = 0;
        Enumeration rentals = _rentals.elements();
        String result = "Rental Record for * " + getName() + "\n";
        while(rentals.hasMoreElements()) {
           Rental each = (Rental)rentals.nextElement();    //取得一筆租借記錄

           //   add frequent renter points(累加??头e點)
              frequentRenterPoints ++;
              if((each.getMovie().getPriceCode() == Movie.NEW_RELEASE) &&
                 each.getDaysRented() > 1)
                 frequentRenterPoints ++;

              result += "\t" + each.getMovie().getTitle() + "\t" +
                 String.valueOf(each.getCharge()) + "\n";
              totalAmount += each.getCharge();
        }
    //   add footer lines(結尾打印)
        result += "Amount owed is " + String.valueOf(totalAmount) + " \n";
        result += "You earned " + String.valueOf(frequentRenterPoints) +
           "frequent renter points";
        return result;
    }

    再一次我又要尋找局部變量。這里再一次用到了each,而它可以被當作參數(shù)傳入新函數(shù)中。另一個臨時變量是frequentRenterPoints。本 例中的它在被使用之前已經(jīng)先有初值,但提煉出來的函數(shù)并沒有讀取改值,所以我們不需要將它當作參數(shù)傳進去,只需對它執(zhí)行[付添賦值操作](appending assignment,operator+=)就行了。

    public String statement() {
        double totalAmount = 0;
        int frequentRenterPoints = 0;
        Enumeration rentals = _rentals.elements();
        String result = "Rental Record for * " + getName() + "\n";
        while(rentals.hasMoreElements()) {
           Rental each = (Rental)rentals.nextElement();    //取得一筆租借記錄

         frequentRenterPointers += each.getFrequentRenterPoints();

              result += "\t" + each.getMovie().getTitle() + "\t" +
                 String.valueOf(each.getCharge()) + "\n";
              totalAmount += each.getCharge();
        }
    //   add footer lines(結尾打印)
        result += "Amount owed is " + String.valueOf(totalAmount) + " \n";
        result += "You earned " + String.valueOf(frequentRenterPoints) +
           "frequent renter points";
        return result;
    }

    class Rental...
        int getFrequentRenterPoints() {
           if((getMovie().getPriceCode() == Movie.NEW_RELEASE)
              && getDaysRented() > 1)
              return 2;
           else
              return 1;
        }
    posted on 2005-08-15 13:29 ivaneeo 閱讀(271) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 亚洲中文字幕无码专区| 久久久久亚洲av无码专区喷水 | 免费a级毛片大学生免费观看| 日本免费人成黄页在线观看视频 | 国产精品V亚洲精品V日韩精品 | 在线播放高清国语自产拍免费| 亚洲成AV人在线播放无码 | 亚洲欧洲免费无码| 人成午夜免费大片在线观看| 人人狠狠综合久久亚洲88| 毛片a级毛片免费播放100| 成人国产网站v片免费观看| 中文字幕亚洲综合久久2| 亚洲?V无码乱码国产精品| 69视频在线观看免费| 日韩在线视频播放免费视频完整版| 大学生一级毛片免费看| 黄色三级三级三级免费看| 亚洲精品国产成人中文| 亚洲日本va午夜中文字幕久久| 日本在线观看免费高清| 亚洲图片中文字幕| 精品亚洲一区二区| 免费看小12萝裸体视频国产| 18未年禁止免费观看| 国产免费人成视频在线播放播| 中文字幕中韩乱码亚洲大片 | 99久久99久久精品免费看蜜桃| 91亚洲国产成人久久精品网站| 91精品导航在线网址免费| 国产成人精品免费视频大全| 亚洲欧美日韩国产精品一区| 亚洲国产精品无码一线岛国| 亚洲国产av无码精品| 成人黄页网站免费观看大全| 又大又硬又爽又粗又快的视频免费| 亚洲人成电影网站| 久久久国产精品亚洲一区| 亚洲精品无码Av人在线观看国产| 欧洲人成在线免费| 美女被免费网站在线视频免费 |