Цветовая схема
Alex Four
19 июль 2023

🤮 Негативные последствия код-ревью

Процесс ревью кода, был во всех компаниях, в которых я работал. Он настолько неотъемлемая часть процесса разработки, что может показаться - его наличие всегда благо. Но это не так.

Ниже 4 негативных последствия код-ревью

🤑 Удорожание процесса разработки

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

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

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

Т.е. код написан, но работает, но не двигается дальше, а компания продолжает за это платить.

⚔️Конфликты внутри команды

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

👎Снижение мотивации разработчиков

Во многих компаниях, ревью это единственный регулярный источник обратной связи. Причем негативной!

Единственный раз, когда я видел, чтобы человек на ревью писал, что-то вроде "great work", "amazing decision" и т.д. Причем делал это постоянно, но всегда уместно. Все остальные только указывали на ошибки.

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

Зачем проявлять инициативу, если тебе просто укажут на ошибки и отправят переделывать?

📉Замедление роста разработчиков

Ответственность - это единственное топливо, благодаря которому люди растут. Если ревю сотрудника проходит тщательную проверку, то ответственность за результат делится между тем кто написал код и тем кто его смотрит.

Зачем все проверять самому, если все-равно за тобой будут перепроверять.

А еще вот это паскудное ощущение, что тебе не доверяют. В общем, код ревью сделает из тебя вечного мидла.

⚠️ Ошибки которых изначально не было

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

После каждой итерации исправлений на код ревью, мне приходится проверять фичу снова и снова. Это отнимает кучу времени и сил, и в итоге, я все-равно тестирую ее не так тщательно, как в самом начале.

И да, я ни раз, ловил баги, которые появились после правок на код ревью.

Если говорить на чистоту, то та однозначность, с которой все компании используют в своем флоу этот инструмент, вызывает у меня сомнения в его однозначной полезности.

А с какими негативными последствиями ты встречался?