Что нам готовит код-ревью
как быть эффективным и конструктивным при обзоре кода

Если Вы не считаете, что код-ревью является критически важным этапом разработки программного продукта, прочитайте эту статью. Она создана для Вас.
Программисты сильно недооценивают важность такого мероприятия, как код-ревью. Приступая к реализации очередного проекта, они часто даже не закладывают время, необходимое для проведения обзора кода. И связано это с тем, что прежде всего разработчики хотят как можно быстрее дописать продукт и получить очередную порцию возгласов одобрения от заказчиков и коллег. Тем не менее, не следует забывать, что код-ревью - это возможность почерпнуть чужие идеи и использовать их на благо собственного творения.
Важно понимать, что код-ревью - не придирки к особенностям написания кода, связанным с количеством пробелов, выбранной нотацией, расстановкой скобок и не холиварное обсуждение предпочитаемых к использованию паттернов проектирования. Код-ревью - мероприятие, направленное на выявление реальных проблем, таких как дублирование логики, запутанность кода, выявление уязвимостей. Комментарии, полученные при проведении код-ревью, ценны, так как действительно улучшают качество написанного кода.
Код-ревью - это не только пространство для критики, но и повод для обмена знаниями. Это то время, когда разработчик может услышать фразы:
«Отличная библиотека! Как ты ее нашел?»
«Мне нравится Ваш подход к решению этой проблемы. Сможете объяснить детали?»
Конечно, не стоит забывать, что код-ревью может стать источником неприятных высказываний, например:
«Почему ты решил, что так будет правильно? Я бы сделал иначе»
«Это совсем нехорошо. Надо поступить по-другому».
Помните, что такие комментарии обычно оцениваются как пренебрежительные и способствуют прекращению дальнейшего общения с коллегами.
Как разработчики, мы должны признавать, что наши различия: образование, накопленный опыт, индивидуальные перспективы - делают нас уникальными. Поэтому любой незначительный с Вашей точки зрений комментарий может демотивировать кого-то другого. Для того, чтобы быть действительно хорошим разработчиком недостаточно обладать качественными техническими навыками. Важно уметь корректно общаться, обладать эмпатией и уметь эффективно сотрудничать.
При проведении код-ревью поддерживайте командный дух, будьте чуткими, давайте значимую обратную связь, обменивайтесь знаниями. Помните, что общий не только успех, но и ошибки. Являясь рецензентом, Вы несете такую же ответственность за код, как и автор. Важно, чтобы разработчик не воспринимал код-ревью, как место и время для публичной порки.
Сосредоточьтесь на том, что действительно важно, и будьте готовы принять код, соответствующий необходимым стандартам, даже если он не идеален. Качество кода улучшается за счет постоянного обучения, наставничества и сотрудничества, а не только за счет одного проведенного обзора.
И рецензентам, и авторам важно учитывать психологическое значение обратной связи. Лучшие обзоры мотивируют на дальнейшее обучение, они порождают новые идеи, связанные с разносторонним и неординарным подходом к решению поставленных задач.
Спасибо за внимание.
Перевод статьи Beatriz Fontes “Challenges of Code Review: How to Be Efficient and Constructive”