2. Code review на двоих
Польза очевидна:
• повышение качества кода;
• устранение ошибок;
• взаимное обучение;
• обмен «тайными знаниями»;
• соблюдение code style;
• укрепление рабочих связей.
3. Чего не хватает для счастья?
Резонно хотеть:
• автору кода:
– как можно больше замечаний по ревью;
– взгляд на код с разных сторон;
• команде:
– быть в курсе параллельных изменений.
4. Публичный code review
Если участвует вся команда:
• больше активных участников:
– выше качество финального кода;
– быстрая/ранняя корректировка;
– общая база терминов;
– проработанный навык формулирования;
• больше пассивных участников:
– обучение на чужих ошибках
(а я так не делаю ли?);
– сравнение реализаций
(а я такое же не делаю ли?);
– плавное вхождение в новые технологии;
– информирование через любопытство.
5. Процесс публичного code review
разработка подготовка
запрос
code review:
обсуждение
правки
тестирование
подготовка
запрос
code review:
обсуждение
правки
релизавтотесты
6. Запрос на code review
Состав запроса на code review:
• тип ревью (промежуточный, финальный);
• что сделано
(ссылка на релиз, список задач,
описание требований, …);
• где посмотреть
(файл c diff’ом, хэш коммита,
указание на репозиторий, …);
• на что обратить внимание;
• ограничения
(дедлайн на передачу в тестирование,
близкий релиз, хот-фикс, …).
7. Обсуждения в процессе code review
Да:
• для автора кода:
– отдельный ответ на каждый комментарий;
– «исправлено» + хэш коммита;
– «не согласен» + аргументация;
– «не успеваю» + фиксация задачи;
– «спасибо»;
• для ревьюера:
– проверка выполненных
по замечаниям правок;
– «спасибо».
Нет:
• holy war;
• переход на личности.
8. Вхождение в процесс
Этапы для автора кода:
1. знакомство с правилами;
2. тотальное «да»;
3. полноценное участие.
Этапы для ревьюера:
1. знакомство с правилами;
2. read only;
3. «тихий» режим;
4. выделенная полуформальная задача,
например:
– соблюдение code style;
– вычитка комментариев;
5. полноценное участие.
9. Эффект от публичного code review
В числах:
• выложено 39 релизов за квартал;
• запрошено 54 code review;
• 1..9 ревьюеров (из группы в 9 разработчиков);
• получено 405 комментариев;
• найдено 8 логических ошибок;
• найдено 12 критичных ошибок.
11. Уточнения? Вопросы?
saigo@yandex.ru — задать любые вопросы
www.control-freak.ru — почитать подробнее об управлении версиями,
задачами, проблемами и людьми