Я пишу заявку, и я дошел до этого:
private void SomeMethod()
{
if (Settings.GiveApples)
{
GiveApples();
}
if (Settings.GiveBananas)
{
GiveBananas();
}
}
private void GiveApples()
{
...
}
private void GiveBananas()
{
...
}
Это выглядит довольно просто. Есть некоторые условия, и если они верны, методы вызываются. Тем не менее, я подумал, что лучше сделать так:
private void SomeMethod()
{
GiveApples();
GiveBananas();
}
private void GiveApples()
{
if (!Settings.GiveApples)
{
return;
}
...
}
private void GiveBananas()
{
if (!Settings.GiveBananas)
{
return;
}
...
}
Во втором случае каждый из методов защищает сам себя, поэтому даже если какой-либо из этих методов GiveApples
или GiveBananas
вызывается извне SomeMethod
, они будут выполняться только в том случае, если в настройках указан правильный флаг.
Это то, что я должен рассматривать как проблему?
В моем текущем контексте очень маловероятно, что эти два метода будут вызваны извне этого метода, но никто не может гарантировать это.