ЧИСТЫЙ КОД И ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ
Создавайте код, который масштабируют, а не переписывают.
Лектор: Олег Фокин
Principal Software Engineer в
SoftServe

КУРС ДЛЯ РАЗРАБОТЧИКОВ И QA AUTOMATION, КОТОРЫЕ:
НА КУРСЕ ВЫ
- Бонус:
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
Презентация курсового проекта
- Презентуете курсовой проект лектору и коллегам