Задать вопрос
@Eugene523

Нужно ли явно инициализировать все поля экземпляра класса в конструкторе?

Мой вопрос скорее не технический, а из разряда хороших практик.
В статичных языках типа C#, С++, Rust, структура класса (т.е. набор полей) задается явно. Это дает ясную картину того какие поля есть. В Python атрибут к экземпляру можно добавить в любом методе экземпляра. Так вот вопрос: Нужно ли явно инициализировать все поля экземпляра класса в конструкторе значениями, даже если эти значения фиктивные?
Если нет, то получается, что картина того какие поля есть (или будут) разбросана по методам и четкого представления нет. Либо же надо писать какой-то гигантский комментарий с перечислением полей.
Чтобы вы посоветовали?
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Тут пригодится принцип наименьшего удивления.
Ситуация, когда набор атрибутов у объекта различается в зависимости от вызванных до
этого методов - более удивительна, чем ситуация, когда набор атрибутов один и тот же, просто часть из них имеет значения по умолчанию.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽