真的骄傲梦想家园
专业源于兴趣和努力

  提取方法是最常用的重构之一。当一个方法看起来太长或者方法中一些代码需要注释才能明白它的目的时,可以考虑把它们提取出来作为一个独立的方法。如:

void PrintOwing()
{
double outstanding = 0;

//print banner
Console.WriteLine("**********");
Console.WriteLine(
"***Owes***");
Console.WriteLine(
"**********");

//Calculate outstanding
foreach(Order o in orders)
{
outstanding
+= o.Amount;
}

//print details
Console.WriteLine("Name: " + name);
Console.WriteLine(
"Amount: " + outstanding);
}

 

通过提取方法,重构后代码如下

void PrintOwing()
{
PrintBanner();
outstanding
= GetOutStanding();
PrintDetails(outstanding);
}

void PrintBanner()
{
Console.WriteLine(
"**********");
Console.WriteLine(
"***Owes***");
Console.WriteLine(
"**********");
}

void PrintDetails(int outstanding)
{
Console.WriteLine(
"Name: " + name);
Console.WriteLine(
"Amount: " + outstanding);
}

 


 

int GetOutStanding()
{
double result = 0;

foreach(Order o in orders)
{
result
+= o.Amount;
}

return result;
}

经过重构后,代码看上去清爽多了。提取方法还可以提高代码的重用性,提高代码的模块化


程度。

posted on 2008-10-05 18:16  真的骄傲  阅读(406)  评论(0编辑  收藏  举报