Ho Lee Fuk

Сенсей
⚔ АДМИНИСТРАТОР ⚔
Регистрация
22 Февраль 2018
Сообщения
11.997
Автор: mirdin

Название: Продвинутый курс по проектированию ПО (Полный) (2025)

1740452413939-png.150184


Описание:

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

Описание курса

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


Откройте для себя ключевую разницу между проектированием и реализацией в нашем первом модуле. Освойте тройки Хоара, чтобы разобраться в сложности кода и заложить основу для мастерства в разработке программного обеспечения.

- Почему проектирование принципиально отличается от реализации и что это значит для создания надежного кода.
- Как код, который никогда не терпит сбоев, может всё же содержать ошибки.
- Понимание того, что код, выглядящий простым, может быть сложным, и как избежать написания уязвимого кода.
- Тройки Хоара - простой способ спецификации, позволяющий увидеть сложность так же наглядно, как и сам код.

Unit 2 | Принцип встроенного проектирования

Погрузитесь в самый глубокий и далеко идущий принцип. Как зафиксировать дизайн программы непосредственно в её коде?

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

Unit 3 | Принцип представимых и допустимых состояний

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

- Понимание того, как разделить пространство состояний программы и уменьшить вероятность сбоев.
- Проектирование структур данных и интерфейсов API, которые невозможно использовать неправильно.
- Разработка кода без проверок ошибок, который при этом надёжнее самого «защитного» подхода.

Unit 4 | Принцип данных поверх кода

Узнайте, как подход, при котором внимание сосредоточено на структурах данных, способствует лучшей модульности и скрытию информации.

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

Unit 5 | Алгебраическое рефакторинг

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

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

Unit 6 | Долговечность кода

Когда стоит тратить время на продуманное проектирование, а когда можно оставить это на потом?

- Определение и изоляция предположений, заложенных в отдельных строках кода.
- Использование принципа подстановки Лисков для обеспечения совместимости кода с будущими версиями.
- Применение теории подтипов для предсказания и предотвращения «нарастания сложности», из-за которого код может стать трудным для модификации и очистки в будущем.

Материал на английском языке

Подробнее:
Для просмотра содержимого вам необходимо авторизоваться.

Скачать:
Скрытое содержимое могут видеть только члены группы Премиум.


Скрытый контент для пользователей All-dar.
 

Создайте учетную запись или войдите, чтобы комментировать или скачивать материалы!

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

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизоваться

У вас уже есть аккаунт? Войдите здесь.

Сверху