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

ОНЛАЙН-КУРС

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

Навчіться рефакторити
старий код і писати
чистий за 9 тижнів

КУРСОВИЙ ПРОЄКТ:

Розробка з використанням паттернів

 

ТРИВАЛІСТЬ:

21 онлайн-заняття
Щопонеділка та щосереди

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

Курс підійде:

  • JUNIOR / BEGINNER DEVELOPER

    Щоб декомпозувати великі системи, рефакторити код, писати функціональні застосунки з нуля та підвищити свою професійну кваліфікацію.

  • MIDDLE DEVELOPER

    Щоб розв’язувати проблеми неефективного та повільного софту, а також підсилити скіли для рівня Senior-розробника.

  • QA AUTOMATION

    Щоб опанувати найпопулярніші патерни, підняти якість та надійність автотестів і оптимізувати роботу над проєктом.

  • Алгоритми, структури даних, рефакторинг, принципи чистого коду та шаблони проєктування — ось кити, з яких починається професійний шлях програміста. За 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/20244

    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

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

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

Реєстрація

 

 
 
 
Реєструючись, ви погоджуєтеся з умовами договору-оферти та політикою конфіденційності.