Как ты проводишь код-ревью
Вопрос
Как ты проводишь код-ревью? На что смотришь в первую очередь?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Сначала понимаю задачу и читаю описание PR
Порядок: корректность и краевые случаи, безопасность, архитектура, производительность, читаемость, тесты
Стиль оставляю линтеру и форматтеру
Комментарии про код, а не про человека, с объяснением почему и предложением
Помечаю важность: блокирующее или nit
Отмечаю удачные решения, отвечаю быстро
Что могут спросить следом
- Сколько времени уходит на ревью?
- Что делаешь, если не согласен с архитектурой всего PR?
Разбор
Сначала читаю описание и задачу, чтобы понимать, что PR должен сделать, и при необходимости запускаю его локально. Дальше иду от важного к мелкому: корректность и краевые случаи вроде пустых данных, ошибок сети и двойных кликов, потом безопасность, потом встраивание в архитектуру, производительность, читаемость и тесты. Стиль не обсуждаю, это работа линтера и Prettier. Комментарии пишу про код: «здесь возможна гонка, если ответ придёт позже, предлагаю AbortController», а не «ты забыл». Помечаю, что блокирует мерж, а что nit. Хвалю хорошие решения. Если обсуждение затянулось на несколько реплик, предлагаю созвониться. А если не согласен с подходом целиком, лучше обсудить это до написания кода, поэтому прошу короткий дизайн для больших задач.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.