💻 Программирование [mirdin] Продвинутый курс по проектированию ПО (Полный) (2025)

  • ОФОРМИТЬ ПОДПИСКУ

Calvin Candie

Вечный

Calvin Candie

Вечный
2 Сен 2018
22,906
169
Автор: mirdin
Название: Продвинутый курс по проектированию ПО (Полный) (2025)

[mirdin] Advanced Software Design Course by Mirdin (2025)

1740566587380.png

Продвинутый курс по проектированию ПО - это программа с 6 основными блоками, направленная на улучшение навыков проектирования программного обеспечения. Курс охватывает принципы логики, проектирования структур данных, управление состоянием, модульность и устранение ошибок. Студенты проходят рефакторинг кода, учатся избегать скрытых связей и эффективно решать задачи дизайна программных систем.

Описание курса
Unit 1 | Скрытый уровень логики

Откройте для себя ключевую разницу между проектированием и реализацией в нашем первом модуле. Освойте тройки Хоара, чтобы разобраться в сложности кода и заложить основу для мастерства в разработке программного обеспечения.
  • Почему проектирование принципиально отличается от реализации и что это значит для создания надежного кода.
  • Как код, который никогда не терпит сбоев, может всё же содержать ошибки.
  • Понимание того, что код, выглядящий простым, может быть сложным, и как избежать написания уязвимого кода.
  • Тройки Хоара - простой способ спецификации, позволяющий увидеть сложность так же наглядно, как и сам код.
Unit 2 | Принцип встроенного проектирования
Погрузитесь в самый глубокий и далеко идущий принцип. Как зафиксировать дизайн программы непосредственно в её коде?
  • Понимание того, что код может быть механически выведен из проектной документации, и как этот взгляд упрощает системное проектирование.
  • Использование принципа встроенного проектирования для лучшей структуризации кода.
  • Понимание наиболее общих форм связей между частями кода. Как находить и устранять скрытые связи, предотвращая превращение простых задач в сложные.
Unit 3 | Принцип представимых и допустимых состояний
Научитесь ограничивать состояния программы так, чтобы только допустимые состояния могли быть представлены.
  • Понимание того, как разделить пространство состояний программы и уменьшить вероятность сбоев.
  • Проектирование структур данных и интерфейсов API, которые невозможно использовать неправильно.
  • Разработка кода без проверок ошибок, который при этом надёжнее самого «защитного» подхода.
Unit 4 | Принцип данных поверх кода
Узнайте, как подход, при котором внимание сосредоточено на структурах данных, способствует лучшей модульности и скрытию информации.
  • Секрет Парнаса по сокрытию информации, который используется уже более 40 лет.
  • Как использование принципа скрытия информации делает код более модульным и удобным для расширения.
  • Организация программы вокруг структур данных для повышения её чистоты и читаемости.
  • Как экстремальное применение этого принципа позволяет быстрее понимать сложные системы.
Unit 5 | Алгебраическое рефакторинг
Используйте силу алгебры, чтобы обнаружить, что то, что кажется разным, на самом деле может быть одним и тем же.
  • Понимание сумм и произведений типов данных, а также того, что большинство структур данных являются частными случаями этих двух фундаментальных конструкций.
  • Как большинство общих рефакторингов представляют собой частные случаи нескольких правил.
  • Как рефакторинг программы аналогичен разложению многочленов в алгебре.
Unit 6 | Долговечность кода
Когда стоит тратить время на продуманное проектирование, а когда можно оставить это на потом?
  • Определение и изоляция предположений, заложенных в отдельных строках кода.
  • Использование принципа подстановки Лисков для обеспечения совместимости кода с будущими версиями.
  • Применение теории подтипов для предсказания и предотвращения «нарастания сложности», из-за которого код может стать трудным для модификации и очистки в будущем.
Материал на английском языке

Подробнее:
Скрытое содержимое доступно для зарегистрированных пользователей!

Скачать:
 

Похожие темы