Check
Почему считается плохой практикой выполнять тяжёлую или побочную работу (создание соединений, чтение больших файлов) на уровне модуля при импорте? Как лучше организовать подобную инициализацию?

Побочные эффекты при импорте

Ответ 1 / 1

Импорт модулей должен быть по возможности лёгкой операцией. Тяжёлый код при импорте: - замедляет старт приложения; - затрудняет тестирование (мокать сложнее); - создаёт неожиданные сайд-эффекты при любом импорте. Лучше делать ленивую инициализацию: - через функции `init()`; - через ленивые синглтоны; - в точке входа приложения (например, в `if __name__ == '__main__':`) или `startup`-хуках фреймворка.