Ускоряем прохождение код-ревью

Alexander Podlinov
Sep 6, 2018 · 2 min read

Часто бывает, что мы воодушевленно отправляем свой код на ревью и огорчаемся от того, что долго не можем получить “апрув” или вообще хоть какие-то комментарии. Поскольку сам я постоянно читаю код и затягиваю с “лайком”, хочу рассказать, как можно помочь ревьюеру принять решение.

Разбей задачу на небольшие части

Чем меньше кода нужно прочитать, тем охотнее его проверят. Читателю будет проще разобраться в небольшом куске логики, и он не будет откладывать момент прочтения, до того, когда у него будет светлая голова. Если попросят переименовать файл, то изменение не коснется множества других файлов (где он может использоваться).

Оформи реквест понятно

Описание того, что поменялось, поможет быстрее понять, какую проблему автор решает. В идеале это ссылка на задачу (если есть), и пару предложений в свободной форме, о том, что изменилось.

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

Прочитай код сам

Перед тем как ваш код прочтут, сделайте это сами, все ли нравится?

Тесты, стиль кода, статический анализ — должны быть в порядке

Сэкономьте время читателей. Не заставляйте указывать на упавшие тесты, неправильно отформатированный конструктор, или ошибки линтера. Все равно это придется править. Появятся дополнительные изменения, который нужно проверить и перечитать.

Прокрастинация(наше всё)

Бывает, что задача не идёт, надоела, вы устали. Хочется хоть что-то довести до конца.

Что мы делаем?

Правильно!

Начинаем удалять пробелы, лишние импорты, исправляем мелкие косяки по стилю кода, обновляем библиотеки. Видим, что в проекте уменьшился техдолг, гордо комитим и ложимся спать.

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

Всё в порядке, с этим ничего не нужно делать.

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

Отдельные ветки для каждой небольшой задачи

Решили заняться рефакторингом? Отдельная ветка.
О, тут можно удалить импорты! git branch

Alexander Podlinov

Written by

android development, clean code

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade