ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
范例(Examples):无局部变量(No Local Variables)
在最简单的情况下,Extract Method(110)易如反掌。请看下列函数:

void printOwing() {
    Enumeration e = _orders.elements();
    double outstanding = 0.0;

    //print banner
    System.out.println("********************************");
    System.out.println("********* Customer Owes **********");
    System.out.println("********************************");

    // calculate outstanding
    while(e.hasMoreElements()) {
       Order each = (Order) e.nextElement();
       outstanding += each.getAmount();
    }

    //print details
   
System.out.println("name:" + _name);
   
System.out.println("amount" + outstanding);
}

我们可以轻松提炼出[打印banner]的代码。我只需要剪切、粘贴、再插入一个函数调用动作就行了:

void printOwing() {
    Enumeration e = _orders.elements();
    double outstanding = 0.0;

    printBanner();

    // calculate outstanding
    while(e.hasMoreElements()) {
       Order each = (Order) e.nextElement();
       outstanding += each.getAmount();
    }

    //print details
   
System.out.println("name:" + _name);
   
System.out.println("amount" + outstanding);
}

void printBanner() {
   
//print banner
    System.out.println("********************************");
    System.out.println("********* Customer Owes **********");
    System.out.println("********************************");
}
posted on 2005-08-24 14:59 ivaneeo 阅读(134) 评论(0)  编辑  收藏 所属分类: refactoring-从地狱中重生

只有注册用户登录后才能发表评论。


网站导航: