Eclipse中自动重构实现摸索[Java编程]
本文“Eclipse中自动重构实现摸索[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本文用eclipse的自动重构功效对一个程序实例举行重构,目的是摸索Eclipse自动重构可以在多大程度上帮助重构这个历程.程序实例利用《Refactoring:Improving the Design of Existing Code》一书中的例子.
Eclipse的自动重构功效可以很好地支持各种程序元素的重命名,并自动更新相关的引用.Eclipse可以支持办法、字段在类之间移动,并自动更新引用.Eclipse较好地支持内联字段、函数的更新替换.Eclipse较好地支持抽取办法、变量等程序元素.
重构的历程是一个不断尝试和摸索的历程.Eclipse的重构支持撤消和重做,并且可以预览重构后果,这些是很实用的功效.
Eclipse的重命名、抽取办法、移动、内联功效、更改办法特点符等代码构造级别的重构办法,是对比成熟同时也值得利用的功效.至于计划构造上的重构,eclipse还不能很好地支持.但是作者相信,自动重构的理念应当是"工具帮助下的重构工作",人仍旧承当大部份重构工作.
1、预备工作
本文利用《Refactoring:Improving the Design of Existing Code》一书第一章的例子.重构前的代码及每一步重构后的代码见附件.读者最好配合《Refactoring:Improving the Design of Existing Code》一书阅读本文.
Eclipse利用以下版本:
同时安装了中文语言包.
2、重构第一步:分化并重组statement()
目的:
1、把statement()函数中的swich语句提炼到独立的函数amountFor()中.
2、改正amountFor()参数命名
重构办法:
Extract Method
Rename Method
办法:
1、选中swich语句的代码块,在右键菜单中挑选"重构/抽取办法",呈现参数对话框.Eclipse自动解析代码块中的部分变量,找到了两个部分变量:each和thisAmount.此中,each只是在代码块中被读取,但thisAmount会在代码块中被改正.按照重构Extract Method总结出来的法则,应当把each当作抽取函数的参数、thisAmount当作抽取函数的返回值.但是Eclipse并不做辨别,直接把这两个变量当作抽取新办法的参数,如图.
我们的目的是把在抽取函数中不会被改正的each作为参数;会被改正的thisAmount作为返回值.办理的办法是,把 double thisAmount = 0; 这行代码移到switch语句的上面,变成这样:
double thisAmount = 0;
switch(each.getMovie().getPriceCode()){
case Movie.REGULAR:
thisAmount += 2;
if(each.getDaysRented()>2)
thisAmount += (each.getDaysRented()-2)*1.5;
break;
case Movie.NEW_RELEASE:
thisAmount += each.getDaysRented()*3;
break;
case Movie.CHILDRENS:
thisAmount += 1.5;
if(each.getDaysRented()>3)
thisAmount += (each.getDaysRented()-3)*1.5;
break;
}
选中这段代码,在右键菜单中挑选"重构/抽取办法",eclipse这次变得聪明点了,如图.
以上是“Eclipse中自动重构实现摸索[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |