Refactoring Notes-Refactoring Methods

来源:互联网 发布:甲壳素胶囊 知乎 编辑:程序博客网 时间:2024/04/29 11:52

1.Extract Method
  Turn the fragment into a method whose name explains the purpose of the method.
Before:
  void printOwing(){
    Enumeration e =orders.elements();
    double outstanding=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 "+amount);
}

After:
void printOwing(double amount){
 printBanner();
 amount=getOutstanding();
 printDetails(amount);
}

void printBanner(){
  System.out.println("*******************");
     System.out.println("***Customer Owes***");
     System.out.println("*******************");
}

void printDetails(double amount){
 System.out.println(“name” + name);
 System.out.println(“amount”+amount);
}

double getOutstanding(){
 Enumeration e =orders.elements();
 double result=0.0;
 while(e.hasMoreElements()){
          Order each=(Order)e.nextElement();
          result+=each.getAmount();
 }
 return result;
    }
}

原创粉丝点击