当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • JBuilder 2005单元测试之成立测试用例
  • JBuilder 2005单元测试之捆绑多个用例
  • JBuilder 2005单元测试之业务类介绍
  • JBuilder 2005单元测试之慨述
  • JBuilder 2005单元测试体验之测试配置
  • JBuilder 2005单元测试之JUnit框架
  • <b>JBuilder 2005单元测试之成立测试固件</b>
  • JBuilder和JDeveloper的简单比较
  • 操作JBuilder2005开辟Web操纵程序
  • JBuilder 2005开辟Applet游戏全接触
  • 用JBuilderX开辟WEB操纵程序
  • JBuilder 2005 Struts深度体验之变革
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .