学习。NET以来,老是不明白refactoring的好处,今天看到一篇外国人的BLOG,才明白了。呵呵。。先看看这段代码:
ListView menu=(ListView)sender;
If(menu!=null)
{
If(menu.SelectedItem.Count>=1)
{
WizardForm wizForm = (WizardForm)this.ParentForm;
wizForm.EnableNext = true;
}
else
{
WizardForm wizForm=(WizardForm)this.ParentForm;
wizForm.EnableNext=false;
}
}
else
{
WizardForm wizForm=(WizarForm)this.ParentForm;
wizForm.EnableNext=false;
}
以下代码使用了refactoring:
private void EnableNextOnWizForm(bool value)
{
WizardForm wizForm = (WizardForm)this.ParentForm;
wizForm.EnableNext = value;
}
private void menuItemControl_IndexChange(object sender, EventArgs args)
{
ListView menu = (ListView)sender;
if(menu != null)
{
if(menu.SelectedItems.Count >= 1)
this.EnableNextOnWizForm(true);
else
this.EnableNextOnWizForm(false);
}
else
this.EnableNextOnWizForm(false);
}
对比两次不同的代码,发觉到了什么??呵呵。。在VS.NET2005中,也可以找到refactoring。