Как правильно использовать Single Responsibility Principle в Python?

Middle
279 просмотров
AFK Offer AI

SRP — класс имеет одну причину для изменения. Плохо: UserService с методами register(), send_email(), generate_report(). Хорошо: UserService, EmailService, ReportService. Функция делает одну вещь — parse_config() не должна ещё и валидировать. Модуль — одна зона ответственности. Признаки нарушения: класс 500+ строк, метод с 5 параметрами, название с "And" (ReadAndWrite). В Python: разделяй модули, используй composition. Не доводи до абсурда — один метод на класс это тоже плохо. Баланс — ключ.

Следующий вопрос

Как создать свой context manager?