Welcome

首页 / 软件开发 / C# / 重构--提取方法

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

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;
}

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