Alex Four
🤮 Негативные последствия код-ревью
Процесс ревью кода, был во всех компаниях, в которых я работал. Он настолько неотъемлемая часть процесса разработки, что может показаться - его наличие всегда благо. Но это не так.
Ниже 4 негативных последствия код-ревью
🤑 Удорожание процесса разработки
Предположим, я написал достаточно большой кусок кода, и отправил его на ревью. На следующий день, в середине дня его посмотрели, и. естественно оставили замечания. Отправив код на ревью, я занялся другой задачей. Потому вернулся к предыдущей задаче, когда текущую довел до какого-то логического завершения.
В лучшем случае поправил к концу дня, и снова отправил на ревью. Никто не сидит и судорожно не обновляет страницу в ожидании моих правок. Поэтому следующий раз его посмотрят в лучшем случае завтра.
И таких итерация может быть много. В итоге, я не могу погрузиться в новую задачу, и постоянно меняю контекст, от чего устаю быстрее. Коллеги тоже постоянно меняют контекст, прыгая от своих задач к моей, тоже не могут сконцентрироваться и быстрее устают.
Т.е. код написан, но работает, но не двигается дальше, а компания продолжает за это платить.
⚔️Конфликты внутри команды
Ревью может обидеть. Вроде бы ревьювер не хотел ничего плохого, просто написал как есть, но в состоянии недостатка вербальной информации (а ревью чаще всего проходит в виде текстовой переписки), можно такого себе придумать... И когда это происходит из раза в раз, то негатив копится, ухудшая взаимоотношения.
👎Снижение мотивации разработчиков
Во многих компаниях, ревью это единственный регулярный источник обратной связи. Причем негативной!
Единственный раз, когда я видел, чтобы человек на ревью писал, что-то вроде "great work", "amazing decision" и т.д. Причем делал это постоянно, но всегда уместно. Все остальные только указывали на ошибки.
Любой человек будет с удовольствием делать вещи, которые имеют положительный фитбек, и будет стараться избегать вещей, которые приносят негативный фитбэк. В итоге, если от написания кода в компании сотрудник получает исключительно негатив, он будет писать код меньше.
Зачем проявлять инициативу, если тебе просто укажут на ошибки и отправят переделывать?
📉Замедление роста разработчиков
Ответственность - это единственное топливо, благодаря которому люди растут. Если ревю сотрудника проходит тщательную проверку, то ответственность за результат делится между тем кто написал код и тем кто его смотрит.
Зачем все проверять самому, если все-равно за тобой будут перепроверять.
А еще вот это паскудное ощущение, что тебе не доверяют. В общем, код ревью сделает из тебя вечного мидла.
⚠️ Ошибки которых изначально не было
Если задача достаточно сложная, я себе записываю условия которым должна удовлетворять готовая задача, а так же тест кейсы. Конечно, это ни в какое сравнение не идет с тем, что пишут наши тестировщики, но это помогает убедиться, что фича полностью работает.
После каждой итерации исправлений на код ревью, мне приходится проверять фичу снова и снова. Это отнимает кучу времени и сил, и в итоге, я все-равно тестирую ее не так тщательно, как в самом начале.
И да, я ни раз, ловил баги, которые появились после правок на код ревью.
Если говорить на чистоту, то та однозначность, с которой все компании используют в своем флоу этот инструмент, вызывает у меня сомнения в его однозначной полезности.
А с какими негативными последствиями ты встречался?