Материал

Инструкция к выполнению ДЗ

Как выполнять публичные домашние задания

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

Перед началом

  1. Прочитайте выбранное задание целиком и выпишите вопросы к требованиям.
  2. Создайте собственный публичный репозиторий на GitHub или отдельную папку в существующем учебном репозитории.
  3. Добавьте README.md с названием задания, инструкцией запуска и принятыми решениями.
  4. Настройте окружение по инструкции по старту работы.

Рекомендуемый Git-процесс

Git-процесс нужен для практики, но не является условием доступа к заданию.

  1. Создайте ветку от своей основной ветки: feature/<task-name>.
  2. Делайте небольшие осмысленные commits.
  3. Отправьте ветку в свой репозиторий и откройте pull request в собственную main.
  4. Перед merge самостоятельно проверьте diff, описание PR и результаты тестов.

Если вы пока не используете pull requests, можно выполнить задание непосредственно в своём репозитории и сохранить историю commits.

Что должно быть в результате

  • исходный код без секретов и локальных .env;
  • README.md с командами установки, запуска и тестирования;
  • файл зависимостей и воспроизводимое окружение;
  • автоматические тесты для основных и ошибочных сценариев;
  • краткое описание спорных решений и известных ограничений;
  • успешный запуск линтера, форматтера и тестов.

Самопроверка

Перед завершением задания ответьте себе на вопросы:

  1. Можно ли запустить проект на чистой машине по одному README?
  2. Понятно ли из названий и структуры кода, где находится бизнес-логика?
  3. Проверяются ли тестами ошибки, а не только успешный сценарий?
  4. Нет ли в истории и файлах паролей, токенов или других секретов?
  5. Можете ли вы объяснить каждое нетривиальное решение своими словами?

Ссылку на готовую работу можно отправить любому наставнику или использовать как часть портфолио, но специальный канал сдачи и обязательный reviewer для выполнения материала не нужны.