Code review can be better
Код-ревью можно улучшить
Мы отложили эксперимент с git-review
— инструментом, который делает ревью коммитом поверх PR.
Проблемы GitHub:
- состояние ревью не хранится в репозитории;
- всё через веб, с лагами и лишними кликами.
Локальный workflow
Я клонирую ветку, сбрасываю её, чтобы код выглядел «моим», и ревью в Magit: запускаю тесты, перехожу к определениям, помечаю файлы через git add -p
.
Но оставлять замечания приходится в браузере: долго, неудобно, текстовое поле тормозит.
Идея git-review
- ревью = коммит с комментариями вида
// CR(name): …
; - автор и ревьюер редактируют этот коммит (
--force-with-lease
); - по окончании добавляется revert-коммит, сохраняя историю.
Почему не зашло
Комментарии в коде — супер, но:
- если меняешь код, комментарии смещаются и конфликтуют;
--force-with-lease
добавляет трения;- нужен более мягкий merge для ревью, а не строгая цепочка хэшей.
Довести до ума потребовало бы >500 строк «быстрого хака».
К тому же, в upstream-git может появиться Change-Id в стиле Gerrit, что изменит ландшафт.