# Что такое Code Review Code Review - это процесс проверки и анализа кода задачи разработчиком перед ее релизом. CR (Code Review) выполняется не тем человеком, который делал задачу, а другими членами команды. Результатом CR является обратная связь по выполненной задаче: необходимость внести правки, либо готовность задачи к последующему тестированию и релизу. # Зачем нужен Code Review Code Review может являться частью процесса выполнения задачи (частью workflow). Может показаться, что ревьювить должен только тимлид или старший разработчик, но хорошей практикой является если в процессе ревью задач участвуют все разработчики. Таким образом можно не только распределить нагрузку от ревью, но и составить у команды более широкое представление о выполняемых задачах. Также это помогает делиться best practices внутри команды. # Положительные эффекты в команде от Code Review: * понижает bus factor: больше людей в команде в курсе выполняемой задачи, в случае необходимости внесения изменений в задачу как минимум два человека смогут это сделать. Задача больше не завязана на одного разработчика. * помогает найти и выявить баги и недоработки на этапе разработки задачи: так как задача сразу проверяется как минимум двумя разработчиками, это повышает вероятность нахождения упущенных кейсов, которые без код ревью могли бы попасть на бой. * повышается читаемость и качество кода и как следствие - его поддержка в будущем: код понятен не только одному человеку, а нескольким участниками команды, это упрощает и ускоряет разработку в будущем. * обучаемость сотрудников: разные реализации и подходы к решению задач могут заимствоваться участниками команды друг у друга во время код ревью * развитие и поддержание здоровой культуры в команде: участники команды учатся друг у друга и учатся давать качественную обратную связь, повышается взаимодействие внутри команды. # Минусы: * при разработке задачи на реализацию тратится чуть больше времени * в задаче задействованы как минимум два разработчика (тот, кто делал задачу и тот, кто ее ревьювил) * Когда не нужно проводить код-ревью? Системная практика оценки кода внутри команды — не всегда полезное с точки зрения затраты ресурсов решение. Оно отнимает время и у автора, и у проверяющего, а еще требует глубокого погружения в процессы и сил на коммуникацию. # Причины, чтобы отказаться от код-ревью в конкретном случае: * нет человека, который обладает экспертизой в области специфики задачи; * изменения слишком незначительны и не требуют проверки. # Причины, чтобы отказаться от постоянной практики код-ревью: * у всех разработчиков одинаковый уровень знаний, навыков и уровень погружения в контекст; * приняты другие практики проверки кода — например, парное программирование; % постоянные конфликты из-за код-ревью в команде; практика уже показала свою неэффективность.