Hej.
Spotykam się często w pracy z kodem, w którym obiekty są mutowane metodami void. Na przykład zamiast zrobić mapper, który zwróci nową instancję pożądanego obiektu to tworzona jest voidowa metoda, która nadpisuje elementy już utworzonej instancji.
Np:
public ObjectA someMethod() {
ObjectA a = new Object(//some values);
ObjectB b = new Object(//some other values);
copyProperties(b,a);
return a;
}
private copyProperties(ObjectB source, ObjectA target) {
target.setSomeProp(source.getSomeProp);
// etc.
}
Czy to jest okej praktyka czy nie bardzo? Ja czuję, że to bardzo słaby pomysł i do tego mało czytelny. Czy się mylę?