Calvin Candie
Вечный
Calvin Candie
Вечный
- 2 Сен 2018
- 22,905
- 169
- #1
Голосов: 0
Автор: mirdin
Название: Продвинутый курс по проектированию ПО (Полный) (2025)
[mirdin] Advanced Software Design Course by Mirdin (2025)

Продвинутый курс по проектированию ПО - это программа с 6 основными блоками, направленная на улучшение навыков проектирования программного обеспечения. Курс охватывает принципы логики, проектирования структур данных, управление состоянием, модульность и устранение ошибок. Студенты проходят рефакторинг кода, учатся избегать скрытых связей и эффективно решать задачи дизайна программных систем.
Описание курса
Unit 1 | Скрытый уровень логики
Откройте для себя ключевую разницу между проектированием и реализацией в нашем первом модуле. Освойте тройки Хоара, чтобы разобраться в сложности кода и заложить основу для мастерства в разработке программного обеспечения.
Погрузитесь в самый глубокий и далеко идущий принцип. Как зафиксировать дизайн программы непосредственно в её коде?
Научитесь ограничивать состояния программы так, чтобы только допустимые состояния могли быть представлены.
Узнайте, как подход, при котором внимание сосредоточено на структурах данных, способствует лучшей модульности и скрытию информации.
Используйте силу алгебры, чтобы обнаружить, что то, что кажется разным, на самом деле может быть одним и тем же.
Когда стоит тратить время на продуманное проектирование, а когда можно оставить это на потом?
Подробнее:
Скачать:
Название: Продвинутый курс по проектированию ПО (Полный) (2025)
[mirdin] Advanced Software Design Course by Mirdin (2025)

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