经过除去临时变量后的一小段总结

经过除去临时变量后的一小段总结
很明显看出来,htmlStatement()和statement()是不同的。现在,我应该脱下[重构]的帽子,戴上[添加功能]的帽子,戴上[添加功能]的帽子。我可以像下面这样编写htmlStatement(),并添加相应测试:

public String htmlStatement() {
    Enumeration rentals = _rentals.elements();
    String result = "<H1>Rental Record for <EM> " + getName() + "</EM></H1><P>\n";
    while(rentals.hasMoreElements()) {
       Rental each = (Rental)rentals.nextElement();    //取得一笔租借记录

          result += each.getMovie().getTitle() + ":" +
             String.valueOf(each.getCharge()) + "<BR>\n";
    }
//   add footer lines(结尾打印)
    result += "<P>You owe <EM>" + String.valueOf(getTotalCharge()) + "</EM><P> \n";
    result += "On this rental you earned <EM>" + String.valueOf( getTotalfrequentRenterPoints()) +
       "</EM>frequent renter points<P>";
    return result;
}

通过计算逻辑的提炼,我可以完成一个htmlStatement(),并复用(reuse)原本statement()内的所有计算。我不必剪剪贴贴,所以如果计算规则发生改变,我只需在程序中做一处修改。

你可能感兴趣的:(经过除去临时变量后的一小段总结)