Piszę aplikację i doszedłem do tego:
private void SomeMethod()
{
if (Settings.GiveApples)
{
GiveApples();
}
if (Settings.GiveBananas)
{
GiveBananas();
}
}
private void GiveApples()
{
...
}
private void GiveBananas()
{
...
}
Wygląda to całkiem prosto. Istnieją pewne warunki i jeśli są prawdziwe, wywoływane są metody. Zastanawiałem się jednak, czy lepiej zrobić to w ten sposób:
private void SomeMethod()
{
GiveApples();
GiveBananas();
}
private void GiveApples()
{
if (!Settings.GiveApples)
{
return;
}
...
}
private void GiveBananas()
{
if (!Settings.GiveBananas)
{
return;
}
...
}
W drugim przypadku, każda z metod sama strażników, więc nawet jeśli którykolwiek z tych metod GiveApples
lub GiveBananas
jest wywoływana z zewnątrz SomeMethod
, mają zamiar być wykonywane tylko wtedy, gdy mają one prawidłową flagę w Ustawieniach.
Czy to coś, co powinienem uznać za problem?
W moim obecnym kontekście jest bardzo mało prawdopodobne, że te dwie metody zostaną wywołane spoza tej metody, ale nikt nigdy nie może tego zagwarantować.