Wartość zwracana metody create()

0

Cześć,
mając metodę:

create(object){
   client.post(object);
   return object;
//return client.post(object);
}

możemy zwrócić albo obiekt przekazany jako argument albo wynik posta(przykład jest uproszczony i zakłada, że post powinien zwrócić ten sam obiekt). Zastanawiam się co jest lepszą praktyką, czy w tej sytuacji zależy to od kontekstu? Z jednej strony, gdy zwracamy argument to nie zauważymy, że metoda post() zwraca np. zły obiekt bo zawsze dostaniemy nasz "dobry" obiekt. Z drugiej strony, gdy zwrócimy obiekt z posta to możemy np. nie widzieć błędu w naszym kodzie, ktory np. modyfikuje wcześniej obiekt bo np. post() ustawia domyślnie dobre wartości. Czy z Waszego doświadczenia wynika, że jest jakaś dobra praktyka z tym związana?

0

Z kontekstu wnioskuje że to ma być komunikacja z jakiś restowym serwerem, zwracanie tego samego obiektu co przesłany przez parametr nie ma żadnego sensu.
I nie rozumiem kompletnie tego zarzutu o nie widzenie błędu w naszym kodzie, jakiegoż to błędu ?

0

Najlepiej nie mutować.
A jak już trzeba, to ja bym zwracał ten zmutowany obiekt, bo wtedy widzę, że coś z nim potencjalnie mogło się stać wewnątrz tej metody.

0

tak chodzi o resta, zadałem to pytanie bo też zwracanie obiektu z posta według mnie ma sens właśnie z tego względu, że widzimy co ta metoda naprawdę zwraca, jednak kod jest pisany przez doświadczone osoby, ja jestem po stażu więc wolałem tutaj zapytać bo być może czegoś nie rozumiem. Myslałem jezcze o przypadku w którym np. tworzymy obiekt, przekazujemy go do metody i zwracając ten sam obiekt, z którego będziemy korzystać np w asercji obiekt.nazwa() możemy zobaczyć, że jst jakiś błąd w tworzeniu obiektu bo np. nazwa jest inna niż zdefiniowaliśmy, ale pisząc teraz rzeczywiście widzę, że nie jest to na pewno odpowiedzialność metody create.

1 użytkowników online, w tym zalogowanych: 0, gości: 1