Онлайн-курс «Чистый код и паттерны проектирования» | robot_dreams
  • онлайн-курс
  • 21 занятие
  • 30+ паттернов
  • индивидуальный фидбек

ЧИСТЫЙ КОД И ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ

Создавайте код, который масштабируют, а не переписывают.

Лектор: Олег Фокин

Principal Software Engineer в

SoftServe

КУРС ДЛЯ РАЗРАБОТЧИКОВ И QA AUTOMATION, КОТОРЫЕ:

 
icon
Постоянно переписывают код
Вы добавляете фичу, а получаете новые баги. Системной архитектуры нет, поэтому малейшие изменения приводят к падению.
 
 
icon
Боятся трогать legacy
В коде путаница, а временные решения стали постоянными. Проще переписать, чем разобраться — но и на это не хватает ресурсов.
 
 
icon
Хотят расти в карьере
Задачи усложняются, а вы до сих пор сомневаетесь в своих решениях и не имеете понятных инструментов, которые реально работают.
 

НА КУРСЕ ВЫ

  • Бонус:

    1:1 с обсуждением
    вашего проекта для
    трех лидеров курса

  • Курсовой проект:

    кейс для портфолио
    с использованием
    паттернов

  • Продолжительность:

    21 онлайн-занятие
    в течение 1,5 месяцев

Научитесь проектировать решения, которые легко поддерживаются, масштабируются и вписываются в бизнес-логику продукта. Упорядочите знания, структурируете подходы, освоите 30+ паттернов, в частности GoF, GRASP и DDD для прочной архитектуры. Узнаете, как рефакторить чужой код, оптимизировать и упрощать собственный, и получите практические советы от лектора.

Олег Фокин

Principal Software Engineer в SoftServe
former Lead Developer в Ubisoft

  • имеет 20+ лет опыта в разработке программного обеспечения

  • работал с играми, CAD-системами, облачной архитектурой, AI/ML, полиграфическими программами и редакторами векторной графики

  • обучался в программах Google Bootcamp и Google Cloud Professional Architect, обладает сильной экспертизой в проектировании масштабируемых систем

  • основная специализация — программирование на С++

  • научит не просто писать код «правильно», а мыслить как инженер, который понимает код в контексте систем, бизнеса и команды

Программа

  • 01 занятие
    8/20/2025 19:00

    Знакомство с курсом

    • Познакомитесь с лектором и куратором курса
    • Узнаете, как пользоваться LMS
    • Рассмотрите структуру курса, задачи и особенности
  • 02 занятие
    8/20/2025 19:00

    Принципы создания структурированного кода

    • Разберетесь в концепциях программирования, узнаете, какие основные инструменты и подходы существуют для улучшения кода
    • Научитесь объяснять свои мнения и код с помощью диаграмм UML
    • Рассмотрите понятия «чистый код», «рефакторинг», Test-Driven Development
  • 03 занятие
    8/27/2025 19:00

    Рефакторинг «плохого» кода

    • Разберетесь в типах рефакторинга
    • Ознакомитесь с признаками «плохого» кода
    • Наглядно увидите, чем «хороший» код отличается от «плохого»
    • Узнаете, как рефакторить «плохой» код во время livecoding-сессии
  • 04 занятие
    9/1/2025 19:00

    Антипаттерны

    • Узнаете, что такое антипаттерны
    • Научитесь избегать или исправлять антипаттерны
    • Поймете, что такое чрезмерное и недостаточное проектирование
    • Овладеете «критическим» и «конструктивным» видением структурирования кода
  • 05 занятие
    9/3/2025 19:00

    Категории и классификации паттернов

    • Научитесь классифицировать паттерны
    • Ознакомитесь с GRASP- и GoF-паттернами
    • Рассмотрите способы реализации паттернов
  • 06 занятие
    9/8/2025 19:00

    Q&A с лектором

    • Рассмотрите основные ошибки в домашних заданиях
    • Будете иметь более четкое овервью пройденного материала
    • Получите ответы на непонятные вопросы
  • 07 занятие
    9/10/2025 19:00

    Порождающие паттерны. Part № 1

    • Узнаете, какие задачи решают порождающие паттерны
    • Научитесь создавать объекты с помощью порождающих паттернов: Factory Method, Abstract Factory, Builder, Prototype
  • 08 занятие
    9/15/2025 19:00

    Порождающие паттерны. Part № 2

    • Ознакомитесь с паттерном Singleton и примерами его реализации
    • Научитесь избегать его недостатков и применять альтернативные техники
    • Поработаете с другими полезными порождающими паттернами
  • 09 занятие
    9/17/2025 19:00

    Q&A с лектором

    • Рассмотрите основные ошибки в домашних заданиях
    • Будете иметь более четкое овервью пройденного материала
    • Получите ответы на непонятные вопросы
  • 10 занятие
    9/22/2025 19:00

    Структурные паттерны. Part № 1

    • Узнаете, какие задачи решают структурные паттерны
    • Поймете разницу между композицией и наследованием и как выбрать механизм взаимодействия объектов
    • Разберете структурные паттерны: Adapter, Proxy, Composite, Facade
    • Научитесь применять эти паттерны на практике
  • 11 занятие
    9/24/2025 19:00

    Структурные паттерны. Part № 2

    • Разберете паттерны Decorator и Flyweight и узнаете, какие проблемы они решают
    • Примените Decorator для логирования и обработки ошибок
    • Задействуете Flyweight для оптимального использования объектов, зависящих от контента
  • 12 занятие
    9/29/2025 19:00

    Структурные паттерны. Part № 3

    • Рассмотрите паттерн Bridge и справитесь с его использованием
    • Примените Opaque pointer (pimpl) для скрытия деталей имплементации
    • Поймете концепцию функциональной композиции и построения Pipeline
  • 13 занятие
    10/1/2025 19:00

    Q&A с лектором

    • Рассмотрите основные ошибки в домашних заданиях
    • Будете иметь более четкое овервью пройденного материала
    • Получите ответы на непонятные вопросы
  • 14 занятие
    10/6/2025 19:00

    Паттерны поведения. Part № 1

    • Узнаете, какие задачи решают паттерны поведения
    • Поймете концепцию First-class function
    • Рассмотрите паттерны: Command, Scheduled task, Null object, Mock object
    • Научитесь применять эти паттерны на практике
  • 15 занятие
    10/8/2025 19:00

    Паттерны поведения. Part № 2

    • Рассмотрите паттерны: State, Memento, Mediator, Observer, Chain of Responsibility, Template Method, Strategy, Interpreter и увидите применение этих паттернов на практике
    • Используете паттерн State для реализации программы как конечного автомата, инкапсуляции текущего состояния и предполагаемых изменений состояния программы
    • Овладеете паттерном Memento для реализации автосохранения
    • Примените паттерн Observer для синхронизации/согласования поведения разных частей программы
  • 16 занятие
    10/13/2025 19:00

    Паттерны поведения. Part № 3

    • Узнаете, какие бывают итераторы и как они реализованы
    • Поймете двойную диспетчеризацию и паттерн Visitor
    • Научитесь применять Visitor в различных практических задачах
    • Увидите связи между паттернами и составите полную картину их взаимодействия
  • 17 занятие
    10/15/2025 19:00

    Q&A с лектором

    • Рассмотрите основные ошибки в домашних заданиях
    • Будете иметь более четкое овервью пройденного материала
    • Получите ответы на непонятные вопросы
  • 18 занятие
    10/20/2025 19:00

    Patterns of Enterprise Application. Part № 1

    • Узнаете, как развивались принципы проектирования и решения проблем масштабирования
    • Разберетесь в задачах, стоящих перед современными программными системами
  • 19 занятие
    10/22/2025 19:00

    Patterns of Enterprise Application. Part № 2

    • Разберетесь в ORM-паттернах
    • Попрактикуете лучшие паттерны параллелизма
  • 20 занятие
    10/27/2025 19:00

    Итоги и roadmap по развитию карьеры

    • Получите рекомендации от лектора по дальнейшему карьерному развитию
    • Узнаете, какие самые популярные вопросы задают на собеседованиях в IT-компаниях
  • 21 занятие
    11/3/2025 19:00

    Презентация курсового проекта

    • Презентуете курсовой проект лектору и коллегам

регистрация

 
 
 
Регистрируясь, вы соглашаетесь с условиями договора-оферты и политикой конфиденциальности.