Не сказал бы, что это плохая практика - скорее трейдофф. Например, навешивание дополнительной логики на get/set, как по мне - это спорная идея, которая уменьшает понятность кода и увеличивает вероятность случайной ошибки, трудной для отладки
Если ты колбасишь анемичную модель - это аргумент, но со своим сроком годности: оно тоже при измерении стреляет больно