Основные возможности платформы Hexlet не доступны в вашем браузере. Пожалуйста, обновитесь.

JS: Программирование, управляемое данными

В течение этого курса мы будем писать собственную карточную игру и знакомиться с такими важными концепциями программирования, как пользовательские типы, динамическая диспетчеризация по типу, позволяющая писать ёмкий, универсальный код, полиморфизм, передача сообщений между сущностями и, конечно, основы важнейшей темы — объектно-ориентированного программирования. Также мы перейдем к разработке через тесты (test driven development).

Сначала рекомендуем пройти курс: JS: Последовательности

Уроки курса

  • 1

    Введение

    Цель: Познакомиться с курсом и с проектом карточной игры, над которым мы будем работать в течение всего курса, по ходу знакомясь с важными концепциями программирования.

    теория (07:31)  
  • 2

    Игровой дизайн: карточный бой

    Цель: Продумать игровой дизайн нашей карточный игры: как работает игра, как выглядит структура программы и как устроен процесс игры. Проработать поведение программы через тесты.

    теория (10:29)   тесты   практика  
  • 3

    Инверсия

    Цель: Улучшить один важный аспект игры, который не позволял нам полноценно тестировать ход игры.

    теория (05:21)   тесты   практика  
  • 4

    Помеченные данные

    Цель: Разобрать недостатки текущей реализации нашей игры. Разобраться с понятием «помеченных данных», которое является одним из важнейших аспектов всего курса.

    теория (09:08)   тесты   практика  
  • 5

    Диспетчеризация по типу. Аддитивность.

    Цель: Понять, что такое аддитивные программы и как динамическая диспетчеризация поможет нам строить такие программы. Разобраться, что такое диспетчеризация в контексте программирования и типов.

    теория (19:13)   тесты   практика  
  • 6

    Объекты

    Цель: Познакомиться с объектами в контексте современного, общепринятого понятия объектно-ориентированного программирования. Понять, как динамическая диспетчеризация дала возможность работать с объектами в ООП.

    теория (07:32)   тесты   практика  
  • 7

    Нативные объекты

    Цель: Рассмотреть объекты, встроенные в сам язык JavaScript, с учетом знаний об объектах, которые мы получили ранее. Разобраться с тем, как объекты определяются как константы, но при этом могут изменяться.

    теория (13:38)   тесты   практика  
  • 8

    Классы

    Цель: Познакомиться с классом — структурой, которая позволяет создавать объекты. Рассмотреть механизм создания новых объектов с помощью 'new'.

    теория (11:26)   тесты   практика  
  • 9

    Полиморфизм

    Цель: Познакомиться с понятием полиморфизма в языках программирования. Разобрать три типа полиморфизма.

    теория (07:25)   тесты   практика  
  • Course completed

  • Практика после курса

    В некоторых курсах есть практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. В этом курсе таких заданий нет, но вы можете посмотреть задания из других курсов.

Подробнее о курсе

Учащихся
1084
Сообщений
760
Упражнений
0
Часов
11