Огромное спасибо Катрине Оуэн за основание excism.io. Я услышал об этом в подкасте CodeNewbie и решил попробовать. Выполнив множество других не-наставнических упражнений, никаких онлайн-упражнений с обратной связью (freeCodeCamp - мой любимый), наставнический трек упражнений удивителен и уникален. Я уже так много узнал.

Однако мне было трудно начать. Я читал и перечитывал руководства по простому запуску несколько раз. К сожалению, для такого новичка в программировании, как я, им, похоже, не хватало большого количества информации. Я погуглил и поигрался со всевозможными комбинациями в течение нескольких часов, прежде чем я смог получить доступ к первому упражнению. Не знаю, как бы я справился, если бы я еще немного не знаком с терминалом.

Если вы находитесь в такой же ситуации, надеюсь, это вам поможет. Упражнения - это потрясающий ресурс и сообщество, и кажется позором упустить из-за сложного первого шага.

Примечание. Я искал, как отправить эту информацию на GitHub в виде запроса на вытягивание, но не смог понять, так как не смог найти нужную ветку. Если кто знает, как это сделать, дайте мне знать!

1. Установите упражнения

Для начала нужно установить упражнение. Я нашел эти инструкции простыми.

2. Загрузите упражнение.

  1. Скопируйте ссылку. Скопируйте ссылку на упражнение, которое вы хотите выполнить. На изображении выше это первая кнопка копирования.
  2. Вставьте ссылку: откройте Терминал и вставьте ссылку. Вы можете быть в любом каталоге и вставить ссылку, это не имеет значения. Эта ссылка загрузит для вас папку. В своей установке я обнаружил все папки в /Users/my_name/Exercism/javascript/. Там вы увидите все папки для каждого загруженного вами упражнения. Первое упражнение hello-world.
  3. Перейдите в папку: в Терминале перейдите к папке с упражнениями и найдите папку с упражнениями. Я ввел в Терминал следующее: cd /Users/my_name/Exercism/javascript/hello-world. Вам нужно будет изменить my_name на любое имя, которое вы используете с Терминалом. Если вы не знакомы с перемещением по терминалу, в Интернете есть множество отличных руководств.
  4. Установите упражнение: внутри этой папки будет три файла. Вы можете просмотреть их, набрав ls. Однако в этом нет необходимости. Все, что вам нужно сделать, это установить упражнение. Введите npm install. В первый раз, когда я сделал это для hello-world, установка заняла буквально часы. Я думал, что что-то не так, поэтому продолжал отменять. Так было в первых упражнениях. Однако после упражнений 3 или 4 процесс установки занимал всего несколько секунд. Возможно, при первой попытке сервер был перегружен.

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

3. Напишите код

  1. Создайте hello-world.js: теперь вам нужно фактически создать файл hello-world.js для всего кода. Я делаю это в Терминале, набирая touch hello-world.js. Обратите внимание, что вам нужно создать файл в папке hello-world. Если вы не знаете, в какой папке вы находитесь, введите pwd.
  2. Откройте hello-world.js: откройте файл в редакторе кода. Я использую Sublime. Я открываю файл в Терминале, набирая open hello-world.js.
  3. Начните решать проблему! Начните писать код на JavaScript.
  4. Включите export в свой код: обратите внимание, что вам нужно включить слово export в свой код, чтобы протестировать свое решение с помощью спецификации теста физической активности. Обычно я пишу на CodePen и никогда раньше не использовал export, так что это на какое-то время поставило меня в тупик. Это можно сделать несколькими способами, в зависимости от того, как вы любите кодировать. Однако обратите внимание, что если вы хотите создавать и тестировать внутри Sublime, он не будет работать с export. И если вы хотите протестировать с использованием спецификации теста на физическую нагрузку, без слова export он не удастся.
    Ниже показано, как я использую export для тестирования со спецификацией теста физической активности (и именно так я отправляю окончательный файл).
export const isPangram = (input) => {
  // enter in the code here
};

4. Проверьте свой код.

Это та часть, которая ставила меня в тупик на долгие годы! Я не мог понять, где находится xtest, и напечатал его везде, прежде чем наконец получил его. Надеюсь, это избавит кого-то от усилий.

  1. Запустите первый тест: внутри Терминала в папке с упражнениями есть файл hello-world.spec.js. В Терминале введите npm test. Это запустит тесты внутри файла spec. Обратите внимание, что по умолчанию запускается только один тест, а другие тесты пропускаются.
  2. Откройте спецификацию теста: это та часть, которая меня озадачила. Откройте файл hello-world.spec.js. Внутри файла вы увидите несколько различных тестовых случаев. Первый тест начинается с test('something', () => {});. Остальные тесты начнутся с xtest вместо test.
  3. Измените xtest на test: удалите x перед тестами, которые вы хотите запустить следующим. Сохраните файл.
  4. Повторяйте шаги с 1 по 3, пока все тесты не пройдут.
  5. Использовать lint: я использую lint, чтобы проверить, соответствует ли мой код стандартным соглашениям о кодировании (например, без конечных пробелов). Если вы хотите это сделать, введите в Терминале npm run lint.

5. Отправьте свой код

Поздравляем, у вас есть решение, прошедшее все тесты! Чтобы отправить, убедитесь, что вы находитесь в папке hello-world, а затем введите exercism submit hello-world.js.

Та-да! Теперь вы ждете, пока наставник свяжется с вами по поводу вашего решения. Это может занять несколько недель, так что наберитесь терпения. Ожидание того стоит. Я многому научился у наставников. Отличная работа! Теперь вы официально начали и выполнили свое первое упражнение!