Wpis z mikrobloga

Jeśli jakaś metoda po za swoją logiką robi coś jeszcze, czyli ma jakiś side effect, to ten effect powinien być wydzielony do innej metody? Np. załóżmy, że mam prostą metodę, które dodaje obiekt do repo, jednak przed dodaniem trzeba sprawdzić czy taki obiekt już nie istnieje, czyli metoda ma jakiś side effect, który powinienem wydzielić do nowej metody. I teraz pytanie jak nazywać metody, które odpowiadają za cały proces np. za właśnie dodania do repo obiektu, na który składa się wywołanie walidacji i potem zapis do repo?
#naukaprogramowania #programowanie
  • 3
@Edelner: najlepiej tak, choć nie zawsze tak się da. Przykładowo niektóre operacje atomowe muszą być wykonane na raz. Innym przykładem jest np. stos, gdzie masz funkcję, która zwraca ci element dodatkowo usuwając go ze stosu
@Edelner: To są niby proste i podstawowe sprawy jak zapisywanie/dodawanie coś do repo, ale jednak nie do końca.
Jeśli chodzi o side effecty to oczywiście trzeba je ograniczać i najlepiej żeby ich nie było albo żeby był tylko jakiś jeden konkretny wyraźnie zakomunikowany w metodzie i adekwatny do danego poziomu abstrakcji na którym akurat operujemy. W przeciwnym wypadku kompozycyjność kodu leży (tym bardziej leży im większy jest projekt).
Co do nazewnictwa