JavaScript: Фасад

Обновлено: 13 сент., 15:59
4305
Студентов
91%
Завершения

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

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

math.js

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

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

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

Для полного доступа к испытанию нужен базовый план

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

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

Отзывы

Аватар пользователя Илья Денисов
Илья Денисов 26 марта 2023

Очень крутое задание! Голову поломать, получить невероятный кайф после казалось бы легкого на первый взгляд решения. Спасибо.


Аватар пользователя Алихан Аскаров
Алихан Аскаров 24 ноября 2017

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


Аватар пользователя Михаил Боткин
Михаил Боткин 13 октября 2017

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

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