С ростом кодовой базы растет и сложность понимания происходящего в коде. Одним из основных способов борьбы с этой сложностью является создание абстракций. Абстракции позволяют перейти от работы с низкоуровневыми данными, к работе с сущностями предметной области. Абстракции скрывают ненужные детали, и фокусируют внимание на интересующих нас понятиях. С их помощью код становится читаемым и простым для восприятия.
Чему вы научитесь:
- Выделять сущности предметной области и устанавливать правильные взаимоотношения между ними
- Подбирать правильную структуру данных для хранения сущностей
- Грамотно проектировать интерфейсы абстракций
- Определять инварианты и следовать им
- Правильно использовать индексированный и ассоциативный массивы
Уроки курса
-
3
Точки на координатной плоскости
Научиться моделировать конкретную предметную область -
4
Семантика массивов
Научиться правильно подбирать структуру данных под задачу -
5
Создание абстракции
Понять, зачем скрывать данные (структуру) и разобрать примеры -
7
Уровневое проектирование
Научиться видеть барьеры абстракции и выделять слои
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.
# | Задание | % завершений |
---|---|---|
1 | Обработка ссылок | 85% |
Автор
Сооснователь и CEO образовательного проекта Хекслет. Программирую с 2007 года. За это время прошёл путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков.
- Программирую на языках: Elixir, Clojure, JavaScript, PHP, Ruby.
- Соорганизатор конференции Nastachku.ru.
- Вимер.
- Топлю за DevOps и автоматизированные тесты.
Впечатления
Большое спасибо за данный курс! Определенно один из лучших на Hexlet. Если бы можно было выделять курс в "Избранное" - этот бы курс там точно был. После прохождения ощущение, что открыли глаза на столь важные вещи, которые вроде как бы и использовались до этого мной, но их суть куда то ускользала. Теперь все по полочкам. Спасибо.
Очень интересный курс. Конечно, есть ещё некоторые проблемы, но думаю, это связано с отсутствием опыта и практики, но уже сейчас чувствуется погружение в настоящую веб-разработку, начинаешь мыслить иначе, "не по детски".
Хочу поблагодарить наставников за очень выразительное решение. Красивое и информативное написание кода тоже наука.