Комментарии 5
Спасибо за структурированный материал!
Как Team Lead, часто вижу, как джуны злоупотребляют декораторами, превращая код в «луковицу» из обёрток.
Чек-лист, который я даю команде: ✅ Декоратор уместен, если:
Логика повторяется в 3+ функциях
Это инфраструктурный код (логирование, retry, auth)
Декоратор не меняет семантику функции
❌ Декоратор — плохая идея, если:
Внутри бизнес-логика (должна быть в самой функции)
Декораторы вложены >3 уровней (сложно дебажить)
Вы не можете объяснить, что делает декоратор, за 10 секунд
Вопрос: Как вы относитесь к декораторам, которые меняют сигнатуру функции? Например, @inject_db добавляет аргумент db в функцию. С одной стороны — удобно, с другой — нарушает явность (Zen of Python: "Explicit is better than implicit").
Посмотрел все комменты автора, выглядят тошнотворным slop'ом. Лучше комментировать "нормальным человеческим", чем вот так.
Ну за ТС уже давно замечена графомания, про декораторы от него пост уже был https://habr.com/ru/articles/956494/

Декораторы в Python для самых маленьких и немного для взрослых