Как проверять чужой код и не бесить коллег
11.08.2018 12:04
—
Разное
|
Анонимный программист На дворе 2018 год, и все продвинутые разработчики хранят исходный код на GitHub или GitLab и используют какой-нибудь модный git-процесс разработки вроде Пулл реквестПродакт-менеджеру приходит в голову блестящая идея: «Надо добавить в наше приложение больше гифок!» Естественно, проходит недолгое совещание, менеджер получает бонус за эту потрясающую идею, а разработчики — ещё одну классную карточку с подробным ТЗ «добавить гифки». Весьма исчерпывающе. Задание получили, за работу. Делаем форк от ветки master, пишем безупречно чистый код, отправляем на GitHub и ждём чуда. Дальше будет нужно сравнить изменения с основной веткой и сделать новый пулл реквест. В два клика запрос открыт, и вы надеетесь, что коллеги, которых вы и так недолюбливаете, не будут браться за него и просматривать код. Ревью кодаСупер. Код приняли, всё прошло как по маслу, новая фича готова и ожидает ревью команды. Но потом вы смотрите на страницу пулл-реквеста в GitHub… 23 открытых пулл реквеста Это закончится нескоро… В реальности средняя продолжительность жизни пулл-реквесты — от создания до слияния — очень много дней. Для agile-команд это отличается от нормальной практики. Каждый день, пока код ждёт ревью, где-то без гифок плачут пользователи. Но нельзя же лишать людей гифок! Итак, теперь мы знаем, как плохо слишком долго ждать ревью. Что можно сделать, чтобы его ускорить? Неблокирующие код-ревьюЗнакомьтесь, Чад. Чад — разработчик программного обеспечения, и он только что открыл пулл-реквест. Но он не стал ждать, пока кто-то проверит изменения. Вместо этого он решил назначить ревьюером себя и самостоятельно влить изменения, после чего они отправятся на тестирование и продолжат развёртываться. Ловко, да? Он что, добавляет непроверенные изменения???Так и есть. Потому что Чад «гибкий» до мозга костей, и он знает, что выпустить фичу для пользователя гораздо важнее, чем заморачиваться со стилем кода. И за это получает звание «Короля гифок». Спустя какое-то время один из коллег Чада таки принимается за упомянутый пулл-реквест. Он ворчит и поглаживает свою длинную бороду. Он всей душой ненавидит вспомогательные классы, и правильно делает. А потом смотрит на них и пишет: «У меня сейчас кровь из глаз польётся. Пожалуйста, уберите их». Чад читает комментарий, драматично вздыхает и помечает себе, что вспомогательные классы нужно удалить в следующей итерации. Аджайл как он есть. Итак, вы застряли на слиянии, и код ещё не прошёл ревью. Но если вы так и не убедились в том, что важнее выпустить функцию, чем проверять код на соответствие стандартам, вот ещё несколько причин в пользу этого.
Возрождение код ревьюПока что мы говорили о том, почему блокировать пулл-реквесты — плохо, а использовать неблокирующие код-ревью — хорошо. С этим разобрались.
Отличный вопрос, потому что он поможет значительно упростить работу.
В заключение, если команда блокирует проверку пулл реквестов, посмотрите, мешает ли это вашему рабочему процессу. Если ответ «да», используйте неблокирующие пулл-реквесты. Чтобы разместить новость на сайте или в блоге скопируйте код:
На вашем ресурсе это будет выглядеть так
Анонимный программист опубликовал на блог-площадке Medium свои размышления о том, как ускорить процедуру проверки кода и сделать её безболезненной для всех...
|
|