Огромное спасибо Катрине Оуэн за основание excism.io. Я услышал об этом в подкасте CodeNewbie и решил попробовать. Выполнив множество других не-наставнических упражнений, никаких онлайн-упражнений с обратной связью (freeCodeCamp - мой любимый), наставнический трек упражнений удивителен и уникален. Я уже так много узнал.
Однако мне было трудно начать. Я читал и перечитывал руководства по простому запуску несколько раз. К сожалению, для такого новичка в программировании, как я, им, похоже, не хватало большого количества информации. Я погуглил и поигрался со всевозможными комбинациями в течение нескольких часов, прежде чем я смог получить доступ к первому упражнению. Не знаю, как бы я справился, если бы я еще немного не знаком с терминалом.
Если вы находитесь в такой же ситуации, надеюсь, это вам поможет. Упражнения - это потрясающий ресурс и сообщество, и кажется позором упустить из-за сложного первого шага.
Примечание. Я искал, как отправить эту информацию на GitHub в виде запроса на вытягивание, но не смог понять, так как не смог найти нужную ветку. Если кто знает, как это сделать, дайте мне знать!
1. Установите упражнения
Для начала нужно установить упражнение. Я нашел эти инструкции простыми.
2. Загрузите упражнение.
- Скопируйте ссылку. Скопируйте ссылку на упражнение, которое вы хотите выполнить. На изображении выше это первая кнопка копирования.
- Вставьте ссылку: откройте Терминал и вставьте ссылку. Вы можете быть в любом каталоге и вставить ссылку, это не имеет значения. Эта ссылка загрузит для вас папку. В своей установке я обнаружил все папки в
/Users/my_name/Exercism/javascript/
. Там вы увидите все папки для каждого загруженного вами упражнения. Первое упражнениеhello-world
. - Перейдите в папку: в Терминале перейдите к папке с упражнениями и найдите папку с упражнениями. Я ввел в Терминал следующее:
cd /Users/my_name/Exercism/javascript/hello-world
. Вам нужно будет изменитьmy_name
на любое имя, которое вы используете с Терминалом. Если вы не знакомы с перемещением по терминалу, в Интернете есть множество отличных руководств. - Установите упражнение: внутри этой папки будет три файла. Вы можете просмотреть их, набрав
ls
. Однако в этом нет необходимости. Все, что вам нужно сделать, это установить упражнение. Введитеnpm install
. В первый раз, когда я сделал это дляhello-world
, установка заняла буквально часы. Я думал, что что-то не так, поэтому продолжал отменять. Так было в первых упражнениях. Однако после упражнений 3 или 4 процесс установки занимал всего несколько секунд. Возможно, при первой попытке сервер был перегружен.
Отличная работа! Теперь вы готовы ко второму шагу, как указано в рамке для упражнений.
3. Напишите код
- Создайте hello-world.js: теперь вам нужно фактически создать файл
hello-world.js
для всего кода. Я делаю это в Терминале, набираяtouch hello-world.js
. Обратите внимание, что вам нужно создать файл в папкеhello-world
. Если вы не знаете, в какой папке вы находитесь, введитеpwd
. - Откройте hello-world.js: откройте файл в редакторе кода. Я использую Sublime. Я открываю файл в Терминале, набирая
open hello-world.js
. - Начните решать проблему! Начните писать код на JavaScript.
- Включите
export
в свой код: обратите внимание, что вам нужно включить словоexport
в свой код, чтобы протестировать свое решение с помощью спецификации теста физической активности. Обычно я пишу на CodePen и никогда раньше не использовалexport
, так что это на какое-то время поставило меня в тупик. Это можно сделать несколькими способами, в зависимости от того, как вы любите кодировать. Однако обратите внимание, что если вы хотите создавать и тестировать внутри Sublime, он не будет работать сexport
. И если вы хотите протестировать с использованием спецификации теста на физическую нагрузку, без словаexport
он не удастся.
Ниже показано, как я используюexport
для тестирования со спецификацией теста физической активности (и именно так я отправляю окончательный файл).
export const isPangram = (input) => { // enter in the code here };
4. Проверьте свой код.
Это та часть, которая ставила меня в тупик на долгие годы! Я не мог понять, где находится xtest
, и напечатал его везде, прежде чем наконец получил его. Надеюсь, это избавит кого-то от усилий.
- Запустите первый тест: внутри Терминала в папке с упражнениями есть файл
hello-world.spec.js
. В Терминале введитеnpm test
. Это запустит тесты внутри файлаspec
. Обратите внимание, что по умолчанию запускается только один тест, а другие тесты пропускаются. - Откройте спецификацию теста: это та часть, которая меня озадачила. Откройте файл
hello-world.spec.js
. Внутри файла вы увидите несколько различных тестовых случаев. Первый тест начинается сtest('something', () => {});
. Остальные тесты начнутся сxtest
вместоtest
. - Измените
xtest
наtest
: удалитеx
перед тестами, которые вы хотите запустить следующим. Сохраните файл. - Повторяйте шаги с 1 по 3, пока все тесты не пройдут.
- Использовать lint: я использую lint, чтобы проверить, соответствует ли мой код стандартным соглашениям о кодировании (например, без конечных пробелов). Если вы хотите это сделать, введите в Терминале
npm run lint
.
5. Отправьте свой код
Поздравляем, у вас есть решение, прошедшее все тесты! Чтобы отправить, убедитесь, что вы находитесь в папке hello-world
, а затем введите exercism submit hello-world.js
.
Та-да! Теперь вы ждете, пока наставник свяжется с вами по поводу вашего решения. Это может занять несколько недель, так что наберитесь терпения. Ожидание того стоит. Я многому научился у наставников. Отличная работа! Теперь вы официально начали и выполнили свое первое упражнение!