Extract Method (提炼函数)
void printOwing(double previousAmount)
{
Enumeration e = _orders.elements();
double outstanding = previousAmount * 1.2;
// 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);
}
void printOwing(double previousAmount)
{
printBanner();
double outstanding = getOutstanding(previousAmount * 1.2);
printDetails(outstanding);
}
void printBanner()
{
// print banner
System.out.println ("**************************");
System.out.println ("***** Customer Owes ******");
}
double getOutstanding(double initialValue)
{
double result = initialValue;
Enumeration e = _orders.elements();
while (e.hasMoreElements())
{
Order each = (Order) e.nextElement();
result += each.getAmount();
}
return result;
}
void printDetails (double outstanding)
{
System.out.println ("name:" + _name);
System.out.println ("amount" + outstanding);
}
将这段代码放进一个独立函数中,
并让函数名称解释该函数的用途
你有一段代码可以被组织在一起并独立出来