Проверка задания ментором

  1. Студент выполняет задание в приватном репозитории.
  2. Студент создает и оформляет Pull Request до дедлайна.
  3. До выставления финальной оценки ментором, студент может продолжать реализовывать фичи.
  4. Ментор проверяет PR, оставляет свои замечания и рекомендации по качеству кода и реализованной функциональности. Указывает предварительную оценку в комментарии.
    • Оценка выставляется ментором на основании критериев оценки указанных для каждого задания
    • При выставлении оценки учитывается весь реализованный функционал. Например, студент выполнил минимальные требования не на 100 процентов, но выполнил часть дополнительных - все требования должны учитываться
    • Ментор может выставить предварительную оценку авансом, с учетом того, что студент исправит все замечания ментора
  5. Студент в течении 5 дней исправляет замечания ментора.
    • Если комментарии ментора к PR предполагают ответ студента - студент пишет ответ
    • Если студент вкоммитал правки, он должен оставить комментарий о том, что именно было вкоммитанно/исправлено
  6. По результатам исправления ментор выставляет окончательную оценку в Score (RS APP > Submit-review).
    • Ментор сам решает снимать баллы или нет за функциональность реализованную студентом после дедлайна.
    • Если студент не исправил замечания ментора по качеству кода, ментор может дополнительно снизить оценку. Размер штрафа на усмотрение ментора, максимум -50 баллов.

Требования к Pull Request (PR)

Pull Request - это место для обсуждения кода. Он не должен выглядеть как монолог студента или ментора. Будьте культурными, уважайте время и работу друг друга.

Pull Request не должен содержать:

  • Закомментированного кода
  • Лишних файлов, автосгенерированного кода, node_modules и т.д.

Описание Pull Request должно содержать следующую информацию:

  1. Ссылка на задание.
  2. Скриншот результата выполнения задания (страница созданного приложения или сайта). Скриншот добавляем в Pull Request в виде изображения. Для добавления в Pull Request изображения, его можно просто перетянуть с компьютера.
  3. Ссылка на задеплоенную версию вашего приложения или сайта. Для деплоя можно использовать:
    • при наличии приватного репозитория школы - gh-pages
    • при отсутствии приватного репозитория школы или при невозможности разместить приложение на gh-pages приватного репозитория школы, приложение можно разместить на netlify.com, либо на другом подобном хостинге.
    • для демоверсий, размещённых на netlify, название сайта даётся по схеме: имя гитхаб аккаунта - название таска.
  4. Дата сдачи / дата дедлайна.
  5. Ваша самопроверка с предварительной оценкой.

Пример оформления

1. Task: https://github.com/rolling-scopes-school/tasks/blob/master/tasks/fancy-weather.md
2. Screenshot:
   ![](https://docs.rs.school/images/fancy-weather.png)
3. Deploy: https://chakapega-fancy-weather.netlify.com/
4. Done 28.05.2020 / deadline 31.05.2020
5. Score: 220 / 300
- Вёрстка, дизайн, UI (15/30)
  - [x] минимальная ширина страницы, при которой она отображается корректно – 320 рх (10)
  - [±] внешний вид приложения внешне соответствует макету или является его улучшенной версией (5/10)   
  - [ ] приложение корректно отображается для любого выбранного языка (0)
- В блоке "Погода за сегодня" отображаются следующие данные (15/20)
  - [x] данные о погоде и местоположении пользователя (10)
  - [±] часы, обновляющие время каждую секунду (5/10) 
 ...

Рекомендация по организации процесса Code review

Для более эффективного процесса код ревью заданий студентов, рекомендуется проводить его в два этапа:

  • Ревью "Draft" версии задания. Студент создает PR, когда готова "Draft" версия, которая показывает основную концепцию задачи и реализует основные части приложения. Решенная таким образом задача может не покрывать дополнительные требования.
  • Ревью "Release" версии задания. Это законченная и отрефакторенная версия задания, в которой исправлены замечания по фундаментальному подходу и учтены пожелания во время ревью Draft версии. Такой подход решает несколько проблем, которые встречаются при ревью и разработке больших заданий:
  • Снижение единовременной ревью нагрузки на ментора. Зачастую довольно сложно внимательно посмотреть весь код задания за один раз и разъяснить все концепты, которые пропустил студент в рамках большой код базы. Зачастую гораздо проще найти время на 2 ревью поменьше, хотя в целом суммарно времени может уйти больше.
  • Архитектурные промахи в самом начале, которые влекут за собой "дорогие" в плане рефакторинга проблемы
  • Обучение работы с Git и Github
  • Мотивация успеть в дедлайн

Пример проверки студенческого PR ментором

  1. Проверка оформления - PR, коммиты, deployment.

После проверки оформления PR, а также именования коммитов и достаточного их количества можно приступать к проверке функциональности приложения. Для этого можно склонировать репозиторий студента и установить зависимости.

  1. Базовые проверки - линтер, сборка
  • Линтер настроен согласно требованиям задания, все проверки проходят без ошибок
  • Нет выключенных правил линта, попытаться выяснить для чего это было сделано и можно ли этого избежать.
  • Проект собирается без ошибок
  • Нет console.log в production коде
  • Нет закомментированного кода
  1. Проверка функциональности - работа приложения
  • Все основные функции работают корректно
  • Отсутствуют ошибки в консоли
  • Запросы отрабатывают корректно
  • Реализована функциональность согласно требованиям задания
  1. Code review - качество кода, архитектура

Для проверки качества кода можно использовать матреиал из репозитория mentor-resources. Часть этих рекомендаций должны быть включены в конфигурацию Eslint и Typescript согласно требованиям задания.

  1. UI/UX проверка - дизайн и пользовательский опыт
  • Соответствие макету (если был)
  • Адаптивность (если требуется)
  • Кликабельные элементы визуально выделены
  • Обратная связь при взаимодействии (hover, active)

Детально процесс проведения код ревью описан в checklist.

Инструменты автоматизации проверки

Чтобы сократить время на рутинные проверки и больше сосредоточиться на стратегических вопросах — архитектурных решениях и подходах к задачам — можно использовать инструменты автоматизации. Подробнее об этом можно прочитать в чеклисте здесь.

Bash-скрипт автоматической проверки

Файл: templates/scripts/auto-check.sh

Подробнее: Документация по скрипту

AI агент для комплексного code review

Используйте AI агентов (Claude, ChatGPT и т.п.) для глубокого анализа кода с использованием промпта. Подробно о том, как его использовать для код ревью прочитать в чеклисте здесь.

Рекомендуемый workflow с автоматизацией

Комбинируйте автоматические и ручные проверки для максимальной эффективности:

  1. Автоматическая проверка (5 мин):

    • Запустить bash-скрипт: чтобы получить отчет по базовым проверкам или
    • Используйте AI агент: чтобы получить полный отчет по код ревью
  2. Ручная проверка (10-15 мин):

    • Pull Request оформлен согласно требованиям, Deploy URL работает
    • Проверить архитектуру и бизнес-логику
    • Оценить дизайн и UI/UX
    • Протестировать функциональность
  3. Финальный комментарий (5 мин):

Экономия времени: базовые проверки займут 1-2 минуты вместо 10-15, ментор сможет сосредоточиться на важных аспектах.

Дедлайны для студентов

  • Дедлайны всех тасков указаны в расписании курса.
  • Если студент не успел сдать задание вовремя, ментор по своему желанию может применить следующие штрафы:
    • -10 баллов к оценке при опоздании до 3 дней включительно
    • -30% процентов к оценке при опоздании до 7 дней включительно
    • -70% процентов к оценке при опоздании более чем на неделю
    • по усмотрению ментора, при наличии уважительной причины (больница, армейские сборы и т.д.)
    • При применении штрафных коэффициентов, округление происходит в пользу студента

Дедлайны для менторов

Ожидается, что ментор проверяет работу студента в течении одной-двух недель после сдачи работы студентом. Но чем раньше, тем лучше. Даты дедлайнов для студентов указаны в расписании.

Рекомендуемые ссылки

Partnered with