Eclipse中自动重构实现探索 - 编程入门网
的引用。
4、除去临时变量thisAmount。 选中变量thisAmount,在右键菜单中选择"重构/内联",重构预览窗口如下,可见达到了重构的目的。按下"确认"按钮重构代码。 statement()代码: 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(累加 常客积点) frequentRenterPoints ++; // add bouns for a two day new release rental if((each.getMovie().getPriceCode())==Movie.NEW_RELEASE && each.getDaysRented()>1) frequentRenterPoints ++; // show figures for this rental(显示此笔租借数据) 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; } Eclipse中自动重构实现探索(4)时间:2009-11-02四、重构第三步:提炼"常客积点计算"代码 目的:提取"常客积点计算"代码并放在Rental类中,"常客积点计算"代码如下。
重构后的代码如下:
重构方法: Extract Method Move Method Change Method signatrue Inline Method 方法: 1、首先,抽取代码到独立的函数中。 用"抽取方法"重构代码,函数名:getFrequentRenterPoints。很遗憾,eclipse的不能生成诸如:frequentRenterPoints += getFrequentRenterPoints(Rental aRental); 的代码。原因是执行自增操作的局部变量frequentRenterPoints要出现在等式右边,因此抽取函数getFrequentRenterPoints()一定要把frequentRenterPoints作为参数。手工修改函数和对函数的引用,重构后的代码如下:
2、把getFrequentRenterPoints()移动到Rental类中。 3、对getFrequentRenterPoints()"更改方法特征符"为public。 4、对Customer的函数getFreque |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |