May the Code Review be with you [Russian]

May the Code Review be with you [Russian]

Code review is often mistaken for a silver bullet that solves all the developer problems. In reality it's not exactly like that, and this process has its requirements and constraints, just like everything else. We'll talk about what teams can benefit from code review and how to approach this process. We'll get into the details of process, measure the time it takes and learn to assess its usefulness.

Also the main rules of conducting a code review will be shown: both technical and ethical ones that can have positive impact not only on product quality but also on the team making it.

Faf4a633b0d1e32a07a071039686c868?s=128

Egor Tolstoy

April 21, 2017
Tweet

Transcript

  1. Егор Толстой telegram.me/ telegram.me/ etolstoy iosgr

  2. 2

  3. 3

  4. 4

  5. 5

  6. 6 просмотр 101 1

  7. 7 Анимации UX Motion Design Next Big Thing Красивая кнопочка

  8. 8 May the Code Review be with you

  9. 9 Цели Практики Софт Этика Code Review

  10. 10 Цели Практики Софт Этика Code Review

  11. 11 #1: Коллективное владение кодом

  12. 12 12

  13. 13

  14. 14 #2: Переиспользование кода

  15. 15

  16. 16

  17. 17

  18. 18 #3: Обмен знаниями

  19. 19

  20. 20

  21. 21

  22. 22

  23. 23 #4: Обнаружение ошибок

  24. 24 Retain циклы Многопоточность Квалификаторы доступа Ошибки в логике

  25. 25

  26. 26

  27. 27 #5: Единообразие проекта

  28. 28

  29. 29 1 просмотр

  30. 30

  31. 31

  32. 32 #1: Коллективное владение кодом #2: Переиспользование кода #3: Обмен

    знаниями #4: Обнаружение ошибок #5: Единообразие проекта
  33. 33 Цели Практики Софт Этика Code Review

  34. 34 Кто делает review? Когда делать review? Как делать review?

    Эффективно ли review?
  35. 35 Кто делает review? Когда делать review? Как делать review?

    Эффективно ли review?
  36. 36 Маленькая команда Много маленьких команд Большая команда Одиночка

  37. 37

  38. 38 Автор Ревьюер 1 Ревьюер 2 Ревьюер 3 Ревью

  39. 39 Автор Ревьюер 1 Ревьюер 2 Ревьюер 3 Ревью

  40. 40

  41. 41 Тимлид Команда 1 Команда 2

  42. 42 Тимлид Команда 1 Команда 2

  43. 43 Тимлид Команда 1 Команда 2

  44. 44 Тимлид Команда 1 Команда 2

  45. 45

  46. 46 Автор

  47. 47 Автор

  48. 48 Автор

  49. 49 A. Garbarev: 5 коммитов J. Blues: 4 коммита Кандидаты

  50. 50

  51. 51 DataProvider1 height = 26.0 case 14: (strong) *delegate

  52. 52 Чаты в Slack и Telegram Сходки PeerLab Другие коллеги

  53. 53 Чаты в Slack и Telegram Сходки PeerLab Другие коллеги

  54. 54 cocoadevelopers.club telegram.me/iosgt

  55. 55

  56. 56 Чаты в Slack и Telegram Сходки PeerLab Другие коллеги

  57. 57 • Обмен опытом • Code Review • Испытания библиотек

    • Просмотр видео peerlab.community
  58. 58 Чаты в Slack и Telegram Сходки PeerLab Другие коллеги

  59. 59 Не все хотят смотреть твой код

  60. 60 Кто делает review? Когда делать review? Как делать review?

    Эффективно ли review?
  61. 61

  62. 62

  63. 63 Кто делает review? Когда делать review? Как делать review?

    Эффективно ли review?
  64. 64

  65. 65 Проводите архитектурные review

  66. 66 0 50 100 150 200 0 500 1000 1500

    2000
  67. строки кода 67 0 50 100 150 200 0 500

    1000 1500 2000 комментарии чем больше изменений, тем меньше комментариев
  68. 68 Отправляйте дневную норму кода

  69. 69

  70. 70 Проводите self assessment

  71. 71

  72. 72 Подробно описывайте, что сделали

  73. 73

  74. 74 Автоматизируйте чек-лист

  75. 75 SwiftLint OCLint Infer Clang Analyzer CPD

  76. 76

  77. 77 Автоматизация чек-листа для Code Review

  78. 78 Стиль коммитов Наполнение коммитов Правописание в коммитах Линтеры Артефакты

  79. 79

  80. 80

  81. 81 Кто делает review? Когда делать review? Как делать review?

    Эффективно ли review?
  82. 82 Количество review Просмотренные строки кода Найденные ошибки

  83. 83 Количество review Просмотренные строки кода Найденные ошибки

  84. 84 Количество review Просмотренные строки кода Найденные ошибки

  85. 85 Количество review Просмотренные строки кода Найденные ошибки

  86. 86 Количество review Просмотренные строки кода Найденные ошибки

  87. 87 Количество review Просмотренные строки кода Найденные ошибки

  88. 88 #1: Коллективное владение кодом #2: Переиспользование кода #3: Обмен

    знаниями #4: Обнаружение ошибок #5: Единообразие проекта
  89. 89 Goal-Question-Metric 1. Определите цель 2. Сформулируйте вопросы 3. Подберите

    метрики
  90. 90 Цель «Повысить уровень переиспользования кода»

  91. 91 Вопросы Используются ли общие библиотеки? Вынесены ли визуальные стили?

    Какой уровень дублирования кода?
  92. 92 Метрики Количество общих библиотек Количество захардкоженных стилей Уровень дублирования

    кода
  93. 93 Выполнено 60% плана

  94. 94 Inspection rate = LoC / hour Defect rate =

    problems / hour Defect density = problems / LoC
  95. 95

  96. 96 210 LoC

  97. 97

  98. 98

  99. 99 Inspection rate = 2.1 / 0.56 = 3.75 Defect

    rate = 4 / 0.56 = 7.1 Defect density = 4 / 2.1 = 1.9
  100. 100 Inspection rate = 2.1 / 0.08 = 26.25 Defect

    rate = 1 / 0.08 = 12.5 Defect density = 1 / 2.1 = 0.48
  101. 101 Inspection rate 3.75 vs 26.25 Defect rate 7.1 vs

    12.5 Defect density 1.9 vs 0.48
  102. 102 Состав участников Расписание участников Чек-лист Метрики эффективности

  103. 103 Цели Практики Софт Этика Code Review

  104. 104 Upsource / JetBrains Crucible / Atlassian GitHub

  105. 105

  106. 106

  107. 107 Работа в IDE Интеграции с кучей сервисов Мощная статистика

    Code Ownership Гибкие уведомления
  108. 108

  109. 109

  110. 110 Pre-commit review Review сниппетов Считает время на review Тесная

    интеграция с Atlassian Гибкие теги
  111. 111

  112. 112

  113. 113 Можно ставить смайлики Крутой Code Ownership Шаблоны для PR

    Интеграции с инструментами Доступен из коробки
  114. 114

  115. 115 Цели Практики Софт Этика Code Review

  116. 116

  117. 117 Терминология действительно важна

  118. Профессионализм 118 Внимательность Адекватность Доброжелательность Отзывчивость Открытость Устойчивость к критике

    Коммуникабельность Ответственность
  119. 119

  120. 120 Цели Практики Софт Этика Code Review

  121. 121

  122. 122

  123. Code Review нужен вам и вашей команде telegram.me/iosgr