Refactor之Extract Method
假如我们觉得以下代码中ChangeResult函数太大,需要被分割:
class Demo
{
private string result;
public void ChangeResult(int n)
{
n++;
if (n > 0)
{
result = "Greater than zero.";
}
else
{
result = "Less or equal to zero.";
}
}
}
则我们可以进行如下操作。
1. 选取要提取的代码.
2. 通过菜单或快捷键选择”Extract Method”
3. 给出新函数的名字.
4. 点击OK后,我们的代码改变为:
class Demo
{
private string result;
public void ChangeResult(int n)
{
n++;
NewMethod(n);
}
private void NewMethod(int n)
{
if (n > 0)
{
result = "Greater than zero.";
}
else
{
result = "Less or equal to zero.";
}
}
}