О чём вебинар
Вы узнаете себя? Ваш код через полгода превращается в тёмный лес? В проекте есть класс на 2000 строк, который отвечает за всё на свете? Вы боитесь что-то менять, потому что непонятно, что сломается? В коде встречаются except: pass, магические числа и вложенные циклы, которые тормозят систему? Если да – этот вебинар для вас.

Мы разберём 10 самых частых антипаттернов в Python: глобальные переменные, God Object, Spaghetti Code, наследование ради наследования, Primitive Obsession, except: pass, копипасту, магические числа, квадратичную сложность и over-engineering. По каждому пункту покажем плохой код, объясним, почему это проблема, и дадим готовый рефакторинг, который можно применить завтра.

В результате вы научитесь распознавать антипаттерны, получите готовые рецепты по их устранению, сможете аргументированно обсуждать качество кода с коллегами и унесёте с собой чек-лист из 10 пунктов для ежедневной работы.

Цели вебинара:
  • Научить распознавать 10 самых частых антипаттернов в Python-коде на ранних стадиях, чтобы предотвращать их появление в проектах.
  • Дать готовые и применимые на практике рефакторинг-решения для каждой описанной проблемы.
  • Сформировать у участников системное мышление: понимание не только «как написать», но и «как написать правильно, чтобы код жил долго».
  • Предоставить чек-лист для самостоятельного аудита кода, который можно использовать в повседневной работе.
  • Содержание
    1. Введение. Что такое антипаттерн и чем он отличается от бага. Цена технического долга: как антипаттерны замедляют разработку и демотивируют команду. Принцип работы вебинара: плохой код → разбор проблемы → рефакторинг.

    2. Структурные антипаттерны. Глобальные переменные и изменяемое состояние на уровне модуля: почему это убивает тестируемость и предсказуемость. Решение: внедрение зависимостей (Dependency Injection). God Object (Божественный объект): один класс, который знает и умеет всё. Нарушение принципа единственной ответственности (SRP). Решение: разделение на узкие специализированные классы. Spaghetti Code (спагетти-код): смешивание HTTP-слоя, бизнес-логики и SQL-запросов в одном месте. Решение: слоистая архитектура (контроллер → сервис → репозиторий).

    3. ООП-антипаттерны. Наследование ради наследования: глубокие иерархии, методы-заглушки и нарушение принципа подстановки Барбары Лисков (LSP). Решение: композиция вместо наследования, паттерн Стратегия. Primitive Obsession (одержимость примитивами): использование строк, словарей и чисел вместо типизированных объектов. Потеря автодополнения, валидации и смысловой нагрузки. Решение: dataclasses, Pydantic-модели, Enum.

    4. Кодовые антипаттерны. Except: pass – молчаливое проглатывание исключений. Почему это убивает отладку и скрывает критичные ошибки. Решение: логирование и осмысленная обработка ошибок. Copy-Paste Programming – дублирование кода в нескольких местах. Риск рассинхрона при изменениях. Решение: вынесение общей логики в функции/классы, принцип DRY. Магические числа и строки – непонятные константы в коде. Решение: именованные константы и перечисления (Enum). Вложенные циклы с квадратичной сложностью (O(n²)). Почему они тормозят систему на больших данных. Решение: использование хеш-таблиц (множества и словари) для поиска за O(1). Over-Engineering (избыточное проектирование) – абстракции и паттерны там, где достаточно простой функции. Решение: принцип KISS (Keep It Simple, Stupid).

    5. Заключение и Q&A. Итоговый чек-лист из 10 антипаттернов и их решений – шпаргалка для ежедневной работы.
    Другие разделы
    Для кого
    Разработчик
    Тренер
    Читалов Дмитрий
    Читалов Дмитрий Специалист в области Python разработки
    Время (Мск):
    16:00-17:00
    Дата проведения:
    30.07.2026
    Бесплатно
    Зарегистрироваться

    Регистрация






    Нужна помощь? Оставьте заявку, и мы свяжемся с вами в ближайшее время

    Согласен получать на e-mail информационные рассылки о новостях Учебного центра IBS
    Корпоративное обучение Оценка персонала Сертификация О нас Стать тренером Блог Личный кабинет
    Пользователь только что записался на курс ""
    Спасибо!
    Форма отправлена успешно.