Чистый код и паттерны проектирования — курс о том, как рефакторить код, ускорять и упрощать процесс разработки | robot_dreams

ОНЛАЙН-КУРС

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

Научитесь рефакторить
старый код и писать чистый
за 9 недель

КУРСОВОЙ ПРОЕКТ:

Разработка с использованием паттернов

 

ПРОДОЛЖИТЕЛЬНОСТЬ:

21 онлайн-занятие
Каждый понедельник и среду

Курс научит ускорять и упрощать процесс разработки благодаря паттернам проектирования. Под менторством лектора с 20-летним опытом на практике научитесь применять 30+ паттернов, чтобы оптимизировать программы, легко внедрять новые фичи, рефакторить старый код.

Курс подойдет:

  • JUNIOR / BEGINNER DEVELOPER

    Чтобы декомпозировать большие системы, рефакторить код, писать функциональные приложения с нуля и повысить профессиональную квалификацию.

  • MIDDLE DEVELOPER

    Чтобы решить проблемы неэффективного и медленного софта, а также усилить скилы для уровня Senior-разработчика.

  • QA AUTOMATION ENGINEER

    Чтобы овладеть самыми популярными паттернами, поднять качество и надежность автотестов и оптимизировать работу над проектом.

  • Алгоритмы, структуры данных, рефакторинг, принципы чистого кода и шаблоны проектирования — вот киты, с которых начинается профессиональный путь программиста. За 1,5 месяца подробно разберете 30 популярных паттернов проектирования, чтобы улучшать архитектуру приложений и писать высококачественный, понятный и легко поддерживаемый код.

В программу курса входят:

  1. Разбор паттернов

    Изучите 30+ паттернов, которые чаще всего встречаются при проектировании систем. Научитесь выбирать паттерн, применять и адаптировать его к своему проекту.

  2. Live Coding

    Во время лайвкодинг-сессий лектор разберет популярные кейсы, а также покажет, как применять каждый шаблон, обращать внимание на недостатки и убирать «костыли».

  3. Финальный проект

    В финале курса разработаете игру с использованием изученных паттернов проектирования и добавите этот кейс в портфолио.

  4. Консультация лектора

    Три студента с высшими баллами на курсе смогут получить индивидуальную консультацию с лектором, имеющим 20+ лет опыта в разработке.

  5. Карьерный буст

    Получите навыки для прохождения технических интервью в большие IT-компании, где требуется высокое качество кода.

Лектор:

Олег Фокин

  • Lead Software Engineer в GlobalLogic
  • former Lead Developer в Ubisoft
  • 20 лет опыта в разработке программного обеспечения
  • основная специализация — программирование на С++
  • имеет в портфолио разнообразные проекты: игры, полиграфические программы, редакторы векторной графики, CAD-программы, распределенные облачные системы, AI/ML-модели
  • разрабатывал и проводил тренинги по программированию на С++, системного дизайна и архитектуры ПО
  • учился в программах Google Bootcamp и Google Cloud Professional Architect

Программа курса:

  • 01

    8/19/2024

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

    • Познакомитесь с лектором и куратором курса
    • Узнаете, как пользоваться LMS
    • Рассмотрите структуру курса, задачи и особенности
  • 02

    8/19/2024

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

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

    8/21/2024

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

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

    8/26/2024

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

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

    8/28/2024

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

    • Научитесь классифицировать паттерны
    • Ознакомитесь с GRASP- и GoF-паттернами
    • Рассмотрите способы реализации паттернов
  • 06

    9/2/2024

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

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

    9/4/2024

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

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

    9/9/2024

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

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

    9/11/2024

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

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

    9/16/2024

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

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

    9/18/2024

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

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

    9/23/2024

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

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

    9/25/2024

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

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

    9/30/2024

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

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

    10/2/2024

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

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

    10/7/2024

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

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

    10/9/2024

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

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

    10/14/2024

    Patterns of Enterprise Application. Part № 1

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

    10/16/2024

    Patterns of Enterprise Application. Part № 2

    • Разберетесь в ORM-паттернах
    • Попрактикуете лучшие паттерны параллелизма
  • 20

    10/21/2024

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

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

    10/23/2024

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

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

Регистрация

 

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