Top Banner
Двукратный публичный code review Евгения Фирсова
11

Двухкратный публичный code review, Евгения Фирсова (Яндекс)

May 15, 2015

Download

Internet

Ontico
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Двукратный публичный code review

Евгения Фирсова

Page 2: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Code review на двоих

Польза очевидна:• повышение качества кода;• устранение ошибок;• взаимное обучение;• обмен «тайными знаниями»;• соблюдение code style;• укрепление рабочих связей.

Page 3: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Чего не хватает для счастья?

Резонно хотеть:• автору кода:– как можно больше замечаний по ревью;– взгляд на код с разных сторон;

• команде:– быть в курсе параллельных изменений.

Page 4: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Публичный code review

Если участвует вся команда:

• больше активных участников:– выше качество финального кода;– быстрая/ранняя корректировка;– общая база терминов;– проработанный навык формулирования;

• больше пассивных участников:– обучение на чужих ошибках

(а я так не делаю ли?);– сравнение реализаций

(а я такое же не делаю ли?);– плавное вхождение в новые технологии;– информирование через любопытство.

Page 5: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Процесс публичного code review

разработка подготовказапрос

code review:обсуждение

правки

тестирование

подготовказапрос

code review:обсуждение

правки

релизавтотесты

Page 6: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Запрос на code review

Состав запроса на code review:• тип ревью (промежуточный, финальный);• что сделано

(ссылка на релиз, список задач, описание требований, …);

• где посмотреть(файл c diff’ом, хэш коммита,указание на репозиторий, …);

• на что обратить внимание;• ограничения

(дедлайн на передачу в тестирование,близкий релиз, хот-фикс, …).

Page 7: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Обсуждения в процессе code review

Да:• для автора кода:– отдельный ответ на каждый комментарий;– «исправлено» + хэш коммита;– «не согласен» + аргументация;– «не успеваю» + фиксация задачи;– «спасибо»;

• для ревьюера:– проверка выполненных

по замечаниям правок;– «спасибо».

Нет:• holy war;• переход на личности.

Page 8: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Вхождение в процесс

Этапы для автора кода:1. знакомство с правилами;2. тотальное «да»;3. полноценное участие.

Этапы для ревьюера:4. знакомство с правилами;5. read only;6. «тихий» режим;7. выделенная полуформальная задача,

например:– соблюдение code style;– вычитка комментариев;

8. полноценное участие.

Page 9: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Эффект от публичного code review

В числах:• выложено 39 релизов за квартал;• запрошено 54 code review;• 1..9 ревьюеров (из группы в 9 разработчиков);• получено 405 комментариев;• найдено 8 логических ошибок;• найдено 12 критичных ошибок.

Page 10: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Активность ревьюеров

1 2 3 4 5 6 7 8 90123456789

10

ревьюеры

разы

code review на двоих больше участников

больше замечаний

Page 11: Двухкратный публичный code review, Евгения Фирсова (Яндекс)

Уточнения? Вопросы?

[email protected] — задать любые вопросы

www.control-freak.ru — почитать подробнее об управлении версиями, задачами, проблемами и людьми