Javascript: Фасад

Введение в программирование 92 сообщения
Обновлено: 08 сент., 17:06
3201
Студент
91%
Завершения

Программист, который работал на проекте до вас, разбросал все функции, связанные с математическими вычислениями по разным файлам с именами numbers1.js, numbers2.js и numbers3.js. Причем имена функций тоже сделал странными: все функции в файле numbers2.js заканчиваются на двойку, например, sum2().

Вы быстро поняли, что это неудобно и нужно создать единый интерфейс для доступа к ним (говорят "фасад"). Для этого необходимо импортировать все функции из всех перечисленных модулей в новый модуль в файле math.js.

math.js

Задача состоит в том, чтобы файл math.js импортировал в себя все функции из трех описанных выше файлов и выставил их наружу (то есть сделал их реэкспорт) под следующими именами: pow, sum, sub, sqrt и multi. А так же экспортировал функцию cube() по умолчанию.

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

Не забудьте проанализировать файл с тестами, чтобы понять, как используется модуль math.js.

Для полного доступа к испытанию нужна профессиональная подписка

Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
900
упражнений
2000+
часов теории
3200
тестов

Впечатления

Lesson Фасад

https://ru.hexlet.io/code_reviews/29368 не знал что можно делать как в последней строчке решения учителя, делал как приучили в уроках - выходит что сделал костыль, однако красивая последняя строчка у учителя

Lesson Фасад

Мне кажется, что нужно больше таких задач. В том смысле, что бы не заниматься математической частью решения, а именно уделять больше внимания синтаксису и семантики. Я уже на несколько лекций перед ушел от данной темы, но сам еще ни разу не занимался импортом/экспортом "безымянных" функций. Спасибо, что данная задача обратила на это моё внимание.

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