JBuilder2005实现重构之类内部提炼[Java编程]
本文“JBuilder2005实现重构之类内部提炼[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、提炼办法
关于一个办法体宏大的办法,可以利用Extract Method将其一部份代码提炼到一个小办法中,并在原处增添提炼办法的调用.假如办法中存在反复的代码段,则这个代码段很有必须提炼为一个单独的办法,以便复用.
要将一块代码提炼为一个单独的办法,只需求选中这块代码,并通过Ctrl+Shift+R->Extract Method调出提炼办法的重构对话框来举行操作.JBuilder会解析选中代码块中所引用的上下文变量,目标办法定义呼应的参数,通过办法入参来传送这些变量.以下面的drive()办法在Horse.java中定义,其代码以下:
代码清单 3 未提炼办法前的drive()办法
1. public void printQuotation(int amount)
2. {
3. printBanner();
4. System.out.println("单价:"+price);
5. System.out.println("购置只数:"+amount);
6. System.out.println("总价:"+(price * amount));
7. }
我们但愿将第4~6行代码块抽取到一个称为printDetail()的办法中:选中第4~6行的代码->Ctrl+Shift+R->Extract Method调出提炼办法对话框,以下图所示:
图12 提炼办法对话框
在Method name中键入printDetail,按OK后,JBuilder将选中的代码块提炼到新的办法中,并在原办法处插入提炼办法的调用:
代码清单 4 举行办法提炼后的代码
1. public void printQuotation(int amount)
2. {
3. printBanner();
4. printDetail(amount);//在源处插入对抽取出办法的引用
5. }
6. //抽取出来的办法
7. private void printDetail(int amount) {
8. System.out.println("单价:"+price);
9. System.out.println("购置只数:"+amount);
10. System.out.println("总价:"+(price * amount));
11. }
printDetail()办法有一个入参用于传送代码块所引用的上下文变量,在第4行的调用处将变量通过printDetail()的amount入参传入.
2、内联办法
内联办法是提炼办法的反操作,即用办法体替换办法调用,当办法是private且再没有其他地方调用该办法时,JBuilder在内联办法后,一并删除这个被内联的办法.如我们将光标安排代码清单 4的第4行printDetail()处:Ctrl+Shift+R->Inline Method,JBuilder直接将printDetail()办法体内联到第4行处,因为在Horse.java中没有其他地方调用printDetail()所以,该函数内涵联后将从Horse.java中删除.内联后代码如代码清单 3所示.
假如系统中全部函数都仿佛只是对另一个函数的简单拜托,形成过量的间接层,过量的拜托将使程序的关系变得不易理解,此时可以利用内联办法去除这些无用的拜托办法.
以上是“JBuilder2005实现重构之类内部提炼[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |