@Eugene523

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

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

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

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект