Главная головная боль на ревью - это не код

Приходит PR. Модуль написан по всем канонам Nestjs: DTO с валидацией, сервис отделён от контроллера, провайдеры аккуратно прокинуты, тесты зелёные. Придраться не к чему.

Кроме одного: оно решает не ту задачу.

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

В этом и суть проблемы: ревью - последний "оплот", а ловить надо на первом.

Что мне реально помогает:

1)Просить пересказать задачу до того, как открыт редактор. Не «всё понятно?», а «расскажи, что произойдёт, если у пользователя уже есть заявка на конкурс?». Разрыв в понимании виден на второй фразе — и стоит он пять минут, а не неделю.

2)Требовать в описании PR не «что сделал», а «какую задачу решает и почему так». Половина проблем всплывает, пока человек это пишет: объясняет сам себе и по дороге понимает, что не сходится.

3)Резать задачу на мелкие PR. Ошибку в понимании ловим на первых двухстах строках, а не на двух тысячах.

Ревью — про качество решения. Про его смысл договариваться нужно раньше.