Код-ревью
Что это такое
Код-ревью — это чтение изменения другим человеком до того, как оно вольётся, в поисках дефектов, которых автор не видит, а по форме — разговор о диффе с тремя задачами в порядке важности: поймать проблемы, которые иначе дошли бы до продакшна, подтвердить, что изменение делает заявленное, и распространить знание о коде между теми, кто будет его сопровождать. Это не ворота для стилистических предпочтений и не экзамен.
Почему это важно
Ревью — самое дешёвое обнаружение дефектов из существующих. Ошибка, найденная в диффе, стоит минуты; та же ошибка в продакшне стоит инцидента, исправления и разговора с клиентом. Ревью ловит и то, что не поймают автоматические проверки: изменение верное, но решает не ту задачу; путь ошибки, который глотает сбой; граничное условие, не покрытое тестами. А поскольку большинство команд вливает изменения несколько раз в день, именно в ревью на самом деле строится общее понимание кодовой базы.
Что в этом треке
- Чтение диффа на корректность (01-cs-fundamentals/17-code-review/01-reading-a-diff-for-correctness) — понять замысел, отыскать рискованные классы изменений и проверить тесты как часть изменения.
- Ревью на ясность и тон (01-cs-fundamentals/17-code-review/02-reviewing-for-clarity-and-tone) — отделить блокеры от предложений и писать комментарии, которые улучшают код, а не настроение.
Предварительные требования
- Чистый код (01-cs-fundamentals/08-clean-code)
Что читать дальше
- Рефакторинг (01-cs-fundamentals/19-refactoring) — рефакторинг стоит ревьюить иначе, чем изменение поведения, и вот почему.
- Отладка (01-cs-fundamentals/11-debugging) — вопросы, которые задаёт ревьюер, те же, что задаёт отладчик, только заранее.
- Архитектура программного обеспечения (01-cs-fundamentals/25-software-architecture) — ревью изменения на предмет того, вписывается ли оно в границы, на которых построена система.