Код-ревью: что мы реально смотрим, а что осознанно пропускаем
Раньше на код-ревью можно было спокойно проверять всё подряд: и логику, и стиль, и названия переменных, и редкие, но важные случаи, которые легко упустить. Изменения были небольшими, писал их обычный разработчик, и по коду было видно ход его мыслей.
Сейчас обычное дело — запрос на внесение изменений на 1к+ строк, который искусственный интеллект выдаёт буквально за минуту. Пытаться вычитывать такой код строчка за строчкой, как раньше рукописный, — занятие безнадёжное. Либо ты сам станешь узким местом, из‑за которого тормозит весь процесс разработки, либо просто будешь обманывать себя, делая вид, что всё внимательно посмотрел.
Главное изменилось: раньше ревью было про проверку самого кода, а теперь оно должно быть про проверку смысла. Искусственный интеллект отлично пишет код, который выглядит правильно: он собирается без ошибок, тесты (которые тот же ИИ и придумал) проходят, стиль аккуратный. А по сути — решает не ту задачу. Синтаксических ошибок почти не бывает, зато легко проскочит ошибка в смысле: код делает не то, что от него ждут.
Поэтому я теперь чётко разделяю, что беру на себя, а что оставляю машинам.
Оставляю машинам: стиль, форматирование, мелкие оптимизации, споры про имена переменных. Это зона автоматических проверок и вкусовщины — не стоит тратить на это время ревьюера. Особенно с ИИ‑кодом: начнёшь править каждую такую деталь — утонешь в потоке.
Беру на себя: уровни доверия к данным (кто их прислал, кто проверил, где и в каком виде они хранятся), обработку ошибок, любые участки с серьёзными последствиями — деньги, доступы, удаление данных. И самый главный фильтр: «Зачем вообще нужен этот код? Решает ли он поставленную задачу?» Именно тут нужен человеческий взгляд: ИИ не видит общей картины и не чувствует цену ошибки.
Вывод простой. Теперь ревью — это не про то, чтобы найти опечатку. Это про то, чтобы заметить расхождение между тем, что код реально делает, и тем, что мы хотели от него получить. А это намного сложнее, чем поправить опечатку: тут нужно хорошо разбираться в предметной области и уметь анализировать, как этот кусок кода будет жить внутри настоящей, работающей системы.
Ирония тут в том, что искусственный интеллект избавил нас от рутинной работы, но взамен подкинул задачу потяжелее — смысловую. И вот её автоматизировать пока никак не получается. Оформление, синтаксис и базовые проверки берут на себя автоматические инструменты и ИИ. А вот смысл, границы допустимого и цена возможной ошибки — это по‑прежнему дело живых людей и это уже тянет на отдельный пост — про конкретные практики такого ревью. Если тема интересна, дайте знать — продолжим её разбирать.
Комментариев пока нет.