如何使用Action重构代码?

时间:2016-05-12 22:13:25

标签: c# .net

我对行动和重构有疑问。以下代码基本上就是我在做什么。我想,因为有重复的代码,我将尝试创建一个方法来保存公共活动,并使用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));
}

虽然它确实缩短了一点代码,因为公共代码不是那么长,我觉得代码的可读性有点下降。也没有帮助我有一个长的句子作为我的方法名称。

对这种情况使用行动仍然是一个好习惯吗?

1 个答案:

答案 0 :(得分:0)

以下是我的写作方式。

private void FindAndReplace(bool condition)
{
    if (condition)
    {
        FindAndReplace1(true);
    }
    else
    {
        FindAndReplace2(1);
    }
}

public void Main()
{
    ChangeSetting();
    FindAndReplace(conditionA);
    ChangeSettingBack();        
}