Наставничество — Примеры

Пример 1 — Вопрос вместо ответа

Коллега пишет вам о падающем тесте. В его сообщении уже есть нужная подсказка, хоть он её и не заметил. Обмен ниже — это то, что прислал бы наставник, отвечающий сразу. Перепишите ответ так, чтобы коллега дошёл до исправления сам.

Коллега: тест оформления заказа падает на CI, а локально проходит. есть идеи?
Наставник: нужно заполнить базу данных перед запуском теста.

Решение

Коллега: тест оформления заказа падает на CI, а локально проходит. есть идеи?
Наставник: что ты уже пробовал, и что, по-твоему, тест должен увидеть в этот
           момент?
Коллега: я запускаю его сразу после migrate, значит, ожидаю строку корзины...
         ...погоди. CI запускает migrate без заполнения в задании.

Вопрос о том, что он пробовал и чего ожидал, вскрывает пропущенный шаг заполнения в собственном ответе коллеги, так что факт приходит вместе с методом, который его нашёл. Исходный ответ не неверен, но он учит одному факту и оставляет наставника в петле для следующего провала, а вопрос учит способу проверки. Прямой ответ берегите для случая, когда человек действительно застрял и время дорого.

Пример 2 — Ревью, которое исправляет решение, а не запятые

Пул-реквест добавляет цикл повторных попыток вокруг платёжного вызова. Заметка ниже — то, что вы собирались отправить: она поправляет стиль, который уладил бы форматтер, и ничего не говорит о самой повторной попытке. Перепишите её в три вопроса о решениях в этом изменении.

nit: переименуй `r` в `retryCount`
nit: эта строка длиной 104 символа, пожалуйста, перенесите её
nit: здесь используйте `const`, а не `let`

Решение

Что происходит с повторной попыткой, если платёж уже принят, но ответ
истёк по тайм-ауту?
Три попытки — это решение или значение по умолчанию, которое стоит назвать
и переиспользовать?
Какую из этих ветвей тесты на самом деле проверяют?

Каждый комментарий теперь указывает на решение, которое автор ещё может изменить: случай двойного списания, бюджет повторных попыток и непроверенную ветвь. Исходные заметки не вредны, но все три уладил бы форматтер, поэтому они тратят внимание автора, не улучшая дизайн. Наставничество происходит там, где проверяют подход; пробелы оставьте инструменту.