ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(34)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          下一個步驟是找出程序中對于舊函數的所有引用(reference)點,并修改它們,讓它們改用新函數. 下面是原本的程序:
          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;
          }

          本例之中,這個步驟很簡單,因為我才剛剛產生新函數,只有一個地方使用了它.一般情況下你得在可能運用該函數的所有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 閱讀(204) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 禹城市| 通辽市| 文成县| 华容县| 永安市| 昌黎县| 涟源市| 西安市| 武鸣县| 都江堰市| 石渠县| 化隆| 广灵县| 澳门| 双流县| 亳州市| 遂川县| 竹溪县| 治县。| 黔西县| 南部县| 临泽县| 沙洋县| 文化| 大厂| 汽车| 隆回县| 南开区| 宁陵县| 房山区| 浦城县| 开阳县| 皮山县| 新津县| 陕西省| 米泉市| 临夏县| 紫云| 杭锦后旗| 辽源市| 赤城县|