我对行动和重构有疑问。以下代码基本上就是我在做什么。我想,因为有重复的代码,我将尝试创建一个方法来保存公共活动,并使用Action清洁代码。 (在SomeSettingChangeIHaveToDoCommonlyBeforeFAR
中)但是,因为即使在实际代码中这些常用代码也非常小,我觉得代码不是那么干净。
public void FindAndReplace1(bool isThisGood)
{
... some find and replace code ...
}
public void FindAndReplace2(int somePara)
{
... other find and replace code ...
}
public void SomeSettingChangeIHaveToDoCommonlyBeforeFindAndReplace(Action findAndReplace)
{
... change setting ...
findAndReplace();
... change setting back ...
}
public void Main()
{
if (conditionA)
SomeSettingChangeIHaveToDoCommonlyBeforeFindAndReplace(FindAndReplace1(true));
else
SomeSettingChangeIHaveToDoCommonlyBeforeFindAndReplace(FindAndReplace2(1));
}
虽然它确实缩短了一点代码,因为公共代码不是那么长,我觉得代码的可读性有点下降。也没有帮助我有一个长的句子作为我的方法名称。
对这种情况使用行动仍然是一个好习惯吗?
答案 0 :(得分:0)
以下是我的写作方式。
private void FindAndReplace(bool condition)
{
if (condition)
{
FindAndReplace1(true);
}
else
{
FindAndReplace2(1);
}
}
public void Main()
{
ChangeSetting();
FindAndReplace(conditionA);
ChangeSettingBack();
}