Checklist

Чек-лист для проверки тасков RS School

Позволяет быстро подготовить форму проверки для любого таска (json), который оценивается по принципу: 100/50/0 - указывается максимальное количество баллов за полностью реализованный пункт, снимается половина (50%) баллов, если пункт выполнен с ошибками, и не начисляются баллы вовсе, если пункт требований не реализован.

Есть возможность устанавливать штрафы. Проверяющие могут оставлять комментарии под каждым пунктом задания, которые войдут в сгенерированный отчет по проверке задания. Go to checklist

Добавление собственного задания (создание чек-листа):

  • Файлы проверок находятся в папке active-tasks в корне репозитория. Вам нужно добавить свой JSON-файл в эту папку. Этот файл с заданием должен иметь структуру, описанную ниже (пунктов и заголовков может быть сколько угодно).

  • При инициализации HTML-страницы список ссылок на файлы берется из файла tasks-to-render.json в корне проекта. После того, как вы добавили свой JSON-файл с заданием в папку active-tasks, вызовите в консоли команду node create-list.js. Этот скрипт собирает названия всех файлов в папке active-tasks и добавляет их в файл tasks-to-render.json. После этого создайте Pull request.

Структура JSON файла с заданием:

{
  "taskName": "RSS Виртуальная клавиатура", // строка с названием таска

  "criteria": [ // массив с объектами пунктов заданий или заголовков в качестве элементов
    {
      "type": "title", // объект заголовка - служит для разделения пунктов проверки на блоки
      "title": "Минимальный набор"
    },
    {
      "type": "subtask", // пункт проверки. указан максимальный балл за выполнение
      "text": "Реализована генерация DOM-элементов и index.html пустой изначально",
      "max": 20
    },
    {
      "type": "subtask", // еще один пункт блока "Минимальный набор"
      "text": "Нажатие на кнопку на физической клавиатуре подсвечивает кнопку на виртуальной",
      "max": 10
    },
    {
      "type": "title", // Новый блок с пунктами проверки
      "title": "Стандартный набор"
    },
    {
      "type": "penalty", // Штрафной пункт. Указано количество баллов которое снимается, если он выбран.
      "text": "Тестовый - Oшибки или предупреждения eslint-config-airbnb-base",
      "max": -15
    }
  ]
}

Features:

1. Три состояния выполнения пункта задания:

- выполнено полностью: пункт выполнен полностью (100% от оценки за этот пункт);
- выполнено частично: пункт выполнен с ошибками (50% от оценки за этот пункт);
- не выполнено: пункт требований не реализован (0 баллов);

Общий скор за задание меняется соответственно выбранным пунктам. Числа округляются до 1 знака после запятой.
Если выбран штрафной пункт - от общего результата отнимается предусмотренное количество баллов. Общий скор не может быть меньше 0.
Если штрафов больше чем скор за выполненные пункты, то результат проверки 0.

2. Добавление отзыва/замечания к конкретному пункту задания:

- При каждом пункте ТЗ есть ссылка _Добавить отзыв_
- При клике на ссылку появляется textarea с фокусом на этом поле и выделенным текстом
(в случае, если ранее текст был сохранен)
- Используйте _Ctrl + Enter_ чтобы сохранить отзыв или ссылку _Сохранить_
- Используйте _Esc_ чтобы отменить ввод/правку отзыва или ссылку _Отмена_

3. Для удобства и самопроверки ведется подсчет проверенных пунктов задания (нельзя вызвать форму отчета проверки, если остались не проверенные пункты)

- Чтобы сбросить текущий результат проверки нажмите кнопку Сброс. Форма вернется в изначальное состояние

4. Форма отчета проверки

- Итоговая форма отчета проверки рендерит список проверенных пунктов с учетом трех разделов (выполненные пункты, частично выполненные и незасчитанные пункты).
- Если на каком-либо пункте был оставлен отзыв, то он будет также сгенерирован под этим пунктом в финальном отчете (мелким шрифтом)
- Используйте линк "Скопировать в буфер", чтобы быстро скопировать отчет.
Текст копируется с соответствующими переносами строк

5. Кнопка Назад

- Чтобы вернуться к выбору таска из списка, нажмите кнопку _Назад_ возле заголовка задания

Last update: 20/03/2020