ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(34)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          下一個步驟是找出程序中對于舊函數(shù)的所有引用(reference)點,并修改它們,讓它們改用新函數(shù). 下面是原本的程序:
          class Customer...
          public String statement() {
              double totalAmount = 0;
              int frequentRenterPoints = 0;
              Enumeration rentals = _rentals.elements();
              String result = "Rental Record for * " + getName() + "\n";
              while(rentals.hasMoreElements()) {
                 double thisAmount = 0;
                 Rental each = (Rental)rentals.nextElement();    //取得一筆租借記錄

                 thisAmount = amountFor(each);

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

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

          本例之中,這個步驟很簡單,因為我才剛剛產生新函數(shù),只有一個地方使用了它.一般情況下你得在可能運用該函數(shù)的所有classes中查找一遍.
          class Customer
          public String statement() {
              double totalAmount = 0;
              int frequentRenterPoints = 0;
              Enumeration rentals = _rentals.elements();
              String result = "Rental Record for * " + getName() + "\n";
              while(rentals.hasMoreElements()) {
                 double thisAmount = 0;
                 Rental each = (Rental)rentals.nextElement();    //取得一筆租借記錄

                 thisAmount = each.getCharge();

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

                    result += "\t" + each.getMovie().getTitle() + "\t" +
                       String.valueOf(thisAmount) + "\n";
                    totalAmount += thisAmount;
              }
          //   add footer lines(結尾打印)
              result += "Amount owed is " + String.valueOf(totalAmount) + " \n";
              result += "You earned " + String.valueOf(frequentRenterPoints) +
                 "frequent renter points";
              return result;
          }
          posted on 2005-08-15 13:00 ivaneeo 閱讀(205) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 罗城| 梧州市| 九江市| 千阳县| 常宁市| 永春县| 育儿| 清新县| 永宁县| 磐安县| 绥宁县| 永顺县| 旬邑县| 拉萨市| 塘沽区| 兴城市| 霍林郭勒市| 江油市| 水城县| 治县。| 蒙城县| 宁都县| 清水河县| 维西| 澄迈县| 黄骅市| 隆尧县| 恩平市| 通榆县| 方城县| 香河县| 于都县| 大姚县| 廊坊市| 武宣县| 定兴县| 弋阳县| 怀化市| 乡城县| 铁力市| 平潭县|