Function Properties in Data Classes are Code Smells
Для автора использование функций в качестве свойств в основном конструкторе дата классов — это код с душком, потому что:
📌 Классы данных представляют данные. Данные — это значение. Данные никогда не выполняются
📌 Функции — это не данные. Они производят значения при выполнении
В данной статье автор защищает эту идею через пояснение как будет в этом случае работать стандартная проверка на сравнение.
🔸 Используйте дата классы только для данных. Если вам нужно включить функции или поведение, например обратные вызовы:
📌 Используйте обычный класс
📌 Переопределите equals(), hashCode() и toString() вручную
Для автора использование функций в качестве свойств в основном конструкторе дата классов — это код с душком, потому что:
📌 Классы данных представляют данные. Данные — это значение. Данные никогда не выполняются
📌 Функции — это не данные. Они производят значения при выполнении
В данной статье автор защищает эту идею через пояснение как будет в этом случае работать стандартная проверка на сравнение.
🔸 Используйте дата классы только для данных. Если вам нужно включить функции или поведение, например обратные вызовы:
📌 Используйте обычный класс
📌 Переопределите equals(), hashCode() и toString() вручную