[Udemy] Проектирование ПО по принципам Solid и Connascence (Сергей Бухаров)
Научитесь строить архитектуру приложений с использованием SOLID, Connascence, Cohesion и Coupling
Чему вы научитесь
- Разберетесь в принципах SOLID: чем они являются, а чем не являются.
- Увидите много практических примеров.
- Научитесь применять эти принципы на уровне кода и архитектуры всего приложения.
- Начнете видеть «запахи кода» и исправлять их по принципам Connascense.
- Научитесь применять fitness functions и держать архитектурные характеристики под контролем.
9 разделов • 26 лекций • Общая продолжительность 1 ч 41 мин
Требования
- Опыт разработки на любом языке
- Примеры даны на Кotlin, но знать его необязательно
SOLID, Connascence, Cohesion и Coupling — практики, который помогают писать здоровый код и порицать тех, кто пишет плохой.
О принципах SOLID знают все , но немногие их применяют или могут сказать, в каком месте кода эти принципы нарушены. Что уж говорить о Cohesion, Coupling и Connascence.
Если хотите во всём этом разобраться и применять на практике — курс вам поможет.
Вы познакомитесь с полезными практиками структурирования кода. И курс, конечно же, не ограничивается только принципами SOLID. Вы систематизируете знания и получите теоретическую базу, чтобы аргументировано доказывать коллегам свою точку зрения. Научитесь правильно организовывать код и применять принципы Connasscense в рефакторинге.
Просмотрите введение, там я рассказываю обо всём, что мы будем проходить. Полистайте пробные уроки. Посмотрите на Single responsibility principle. Если он окажется не тем, что вы думали, поздравляю! Вы набрели на верный курс
Для кого этот курс
Для любых разработчиков, специальные знания не требуются.
Хорошо, если у вас есть практический опыт разработки.
Примеры даны на Кotlin, но знать его необязательно.
Место курса в разработке
Разработку условно можно поделить на 3 уровня.
Высокоуровневая архитектура, которая отвечает за потоки данных. Как сервисы обмениваются данными - синхронно или через очереди сообщений
Низкоуровневый код. Банально как хорошо названы переменные, большие ли у вас функции. Код стайл и так далее.
Средний уровень, который многие опытные разработки упускают из виду. Это то как приложение разбито на модули, кто от кого зависит и как коммуницирует. Вот как раз solid, cohesion, coupling и connascence и помогут нам сформировать архитектуру приложения на вот этом вот среднем уровне.