Code review быстро и эффективно

1.

Code review
быстро и эффективно
Жук Сергей
skyeng

2.

Жизненный цикл pullrequest’а
Ревь
ю
Новый
реквест
Мерж
Фикс
ы

3.

4.

Типичный pull request
• Новый код
• Рефакторинг
• Фиксы

5.

6.

7.

Категории изменений
• Фичи
• Структурный рефакторинг
• Простой рефакторинг
• Переименование/перемещение классов
• Удаление неиспользуемого кода
• Code style и форматирование

8.

Что оцениваем
• Фичи - выполнение бизнес требований, дизайн решения
• Структурный рефакторинг- обратная совместимость,
улучшения в дизайне
• Примитивный рефакторинг - читабельность кода
• Переименование/перемещение классов - улучшения в
дизайне
• Удаление неиспользуемого кода - обратная
совместимость
• Code style и форматирование - не оценивается

9.

Затраченное время
• Фичи - дольше всего
• Структурный рефакторинг- меньше, чем на фичи
• Примитивный рефакторинг - 99% approve
• Переименование/перемещение классов - 99%
approve
• Удаление неиспользуемого кода - 99% approve
• Code style и форматирование - 99% approve

10.

Зачем разделять
изменения по
категориям?

11.

Худшие комбинации
категорий
• Функциональные изменения + рефакторинг
• Переименование/перемещение класса + его
рефакторинг
• Машинные изменения + человеческие
изменения

12.

Пример

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

31.

Workflow
• Атомарные комиты
• git rebase -i

32.

Workflow
• Атомарные комиты
• git rebase -i

33.

34.

35.

До:
После:

36.

Чек-лист
• Не создаём огромных pull-request’ов
• Описываем предлагаемые изменения
• Проверяем свой код перед созданием
pull-request’а

37.

Зачем мне это?

38.

Зачем мне это?

39.

Для чего нужен
Code Review?

40.

Для чего нужен
Code Review?
• Поиск багов

41.

Для чего нужен
Code Review?
• Поиск багов

42.

Для чего нужен
Code Review?
• Шаринг знаний
• Поиск более лучших решений

43.

44.

Для чего нужен
Code Review?
• Шаринг знаний
• Поиск более лучших решений

45.

Спасибо!
@zhukserega
English     Русский Правила