Доклад: https://youtu.be/HSneeu5pKBs
Презентация: https://docs.google.com/presentation/d/1923kJ2W6LZ7pGGTPPxY2IEVHXm_R3IvwjhgkXACZDZY/
Пирамида code review https://habr.com/ru/companies/productivity_inside/articles/664566/
Вопросы (от самого важного к менее важному):
- Решает ли код задачу?
- Прочитал ли я описание задачи?
- Понимаю ли я задачу?
- Понимаю ли я, как примерно её решать?
- Код похож на примерное решение?
- Решает ли код только эту задачу?
- Норм ли АПИ?
- Документация есть? Поправлена?
- Уязвимости?
- Самые рентабельные уязвимости простые.
- Часть выявит статанализ.
- Для сложных нужен понимающий человек в команде.
- Производительность?
- Сложность алгоритма.
- Использование внешних систем.
- Тяжелые запросы.
- Race condition?
- Можно проще?
- Тесты
- Есть ли тесты?
- Понятны ли тесты?
- Покрыто ли всё важное?
- Автоматизируй это!
- Форматирование кода.
- Запуск тестов.
- Статанализ.
- Описки и стиль текста.
- Безопасность.
- …
- Принятие критики
- Защита — нормальная реакция на критику.
- Повелительное наклонение — зло.
- Не допускайте "наездов".
- Критикуешь — предлагай!
- Хаки
- Общение голосом с фиксированием итогов.
- Автоматизировать проверку стиля кода.
- Решение автора должно победить.
- Не заваливаем сразу тучей мелочей.
- Откладываем холивары.
- Скудные комменты
- Не скупиться.
- Скупой платит дважды (как минимум).
- Пропускаем важные штуки на ревью
- Зарылись в мелочах.
- bus factor = 1. Лид устал.
- Слишком большие pull request.
- Нет аннотации или линка на задачу.
- Задержки в итерациях (туда-сюда)
- Устно договориться и записать.
- Поправить в pull request.
- Куча архитектурных косяков
- Техническое ревью перед написанием кода.
- Промежуточные code review.
- Code review стопорит команду
- У нас bus factor.
- Устроить peer review.
- Недостаточно опыта для peer review
- Code review шарит знания.
- Тяжко на review бегать по коду
- Откройте код в IDE.
- Лист бумаги + ручка.
- Все спорные решения оформляются в соглашения.
- Ведётся в git или wiki.
- Ссылаемся на них на ревью.
- Автоматизируем.
- Если дешевле без него
- Не нужно качество.
- Есть возможность фиксить проблемы «на лету».
- Нет действительно сложной логики.
- Если не можете его сделать нормально
- Смотрят поверхностно.
- Обижают и обижаются.
- Лид устал, команда не хочет.
- На что смотреть.
- Психологические аспекты.
- Проблемы и решения.
- Соглашения.
- Когда Code Review не нужен.