Этот чеклист создан чтобы помочь вам проводить код-ревью так, чтобы укреплять команду, а не разрушать её.
Tip
Код-ревью - это не про код, это про людей.
- Я помню, что основная коммуникация в команде происходит через код-ревью. Мой комментарий может либо построить мост, либо сжечь его.
- Я стремлюсь создать атмосферу психологической безопасности. Команда, которая не боится ошибаться, развивается быстрее.
- Я уважаю автора и его труд. Даже если решение спорное, я исхожу из того, что у автора были на то причины.
- Моя цель - помочь коллеге и улучшить код, а не продемонстрировать своё превосходство.
-
Использую подход "Помоги мне понять...". Вместо приказа - приглашение к диалогу.
Плохо 👎 Хорошо 👍 Здесь нужно вынести дублирующиеся код в один метод. Не повторяйся! Привет! Я заметил, что мы повторяем несколько участков кода. Не мог бы ты рассказать мне, почему ты решил не объединять их в один метод? Если дело в разных ответственностях данных участков кода, давай попробуем вместе найти оптимальное решение.
-
Верхний "хлеб" (Комплимент): Начинаю с искренней похвалы.
-
"Начинка" (Критика/Предложение): Чётко и доброжелательно излагаю суть проблемы или идею для улучшения.
-
Нижний "хлеб" (Поддержка): Завершаю предложением помощи и общей положительной оценкой.
Хорошо 👍 Круто, что ты реализовал этот сложный алгоритм! Мне особенно понравилось, как ты обработал крайние случаи. Есть один момент: я думаю, мы можем повысить читаемость, если вынесем эту логику в отдельный модуль. Вот ссылка на пример. В целом, отличная работа! Если будут вопросы - позови, обсудим!
-
Заменяю "ты" на "мы/нам", и "давай". Это превращает конфронтацию в сотрудничество.
Плохо 👎 Хорошо 👍 Ты забыл добавить тесты для этого кейса. Давай добавим несколько тестов для этого кейса, чтобы нам было спокойнее в будущем.
-
Использую эмодзи для передачи настроения - они помогают конкретизировать тон и придать однозначности в сложных предложениях.
Плохо 👎 Хорошо 👍 Доработка по этой задаче будет принята. Однако, я хотел бы узнать почему использован такой подход в строке 1. Доработка по этой задаче будет принята 🚀. Мне очень интересно почему в строке 18 ты использовал такой подход, расскажешь? Остальная часть файла, на мой взгляд, выглядит отлично 👏👏 .
-
Избегаю мусорных комментариев.
-
Четко формулирую проблему и предлагаю решение.
Плохо 👎 Хорошо 👍 Хм, тут какой-то неоптимальный алгоритм. Может, сделать по-другому? Или посмотреть вон ту библиотеку? Давай попробуем использовать здесь метод БСП ЗначениеРеквизитаОбъекта(Ссылка, НужныйРеквизит)
, подробный пример можно посмотреть вот в этом участке кода. Так мы избежим неявного получения лишних данных объекта.
-
Перекладываю спорные темы на инструменты. Все вопросы форматирования, синтаксиса и стайл-гайдов должны проверяться линтерами и форматерами.
-
Делаю так, чтобы
CI/CD
падал при несоблюдении стандартов кода. Это избавляет меня от роли "полицейского" и экономит время команды. -
В комментариях ссылаюсь на падение
CI
, а не упрекаю автораХорошо 👍 Кажется, CI
упал из-за неиспользованной переменной. Посмотри логи здесь. По самой логике у меня есть пара мыслей...
-
Я делаю искренние комплименты. Хвалю не только за идеальный код, но и за усилия, внимание к деталям или интересные решения.
-
Я воспринимаю код-ревью как возможность отпраздновать успех коллеги, а не только как охоту на ошибки.
Хорошо 👍 Это просто пушка: я сегодня узнал из твоего кода про новый метод, он облегчит мне жизнь! Спасибо! Отличная работа! Приятно развиваться вместе с тобой!
Note
Уважительное ревью - это социальный навык.
Данный чек-лист не серебренная пуля, а лишь пример того как можно отдавать обратную связь коллегам. Стремитесь и ищите подходы, которые помогут вам превратить данный процесс из источника стресса в инструмент роста вашей команды.