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

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

  • Upload
    ontico

  • View
    265

  • Download
    1

Embed Size (px)

Citation preview

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 — почитать подробнее об управлении версиями, задачами, проблемами и людьми