Конструкторы не должны содержать кода. Так думает Егор Бугаенко, и я с ним согласен. И у меня возникли некоторые соображения по этому поводу.
Для начала представляю вам объект:
Этот объект - абстракция. Он может делать тяжелые операции разной природы. Работа с внешними ресурсами, как-то БД, файлы, сеть. Какие-то тяжелые преобразования. Конечно это могут быть и не очень тяжелые преобразования, но на тяжелых преобразованиях сильнее чувствуется боль. :)
И нам нужно вставить тяжелую операцию. Какую точку вы выберите 1 или 2?
Почему-то вспомнилось: ... я покажу тебе, как глубоко ведет кроличья нора. :)
Для начала представляю вам объект:
class HardCalculationValue: def __init__(self): # Точка 1 pass def value(self): # Точка 2 return None
Этот объект - абстракция. Он может делать тяжелые операции разной природы. Работа с внешними ресурсами, как-то БД, файлы, сеть. Какие-то тяжелые преобразования. Конечно это могут быть и не очень тяжелые преобразования, но на тяжелых преобразованиях сильнее чувствуется боль. :)
И нам нужно вставить тяжелую операцию. Какую точку вы выберите 1 или 2?
Почему-то вспомнилось: ... я покажу тебе, как глубоко ведет кроличья нора. :)