Найти в Дзене
Евгений Кузнецов

Главное, что нужно проверить на ревью кода

Допустим, вы разработчик и поддерживаете проект. Коллега из соседнего проекта согласился вам помочь написать новую фичу — записывать IP трейдера, с которого он торговал на бирже. Через пару дней коллега присылает код на ревью. Вы удостоверяетесь, что код правильно работает в многопоточный среде, есть какие-то тесты, структура кода соответствует всем заветам языка программирования. Вы даете добро на доставку кода клиенту, благодарите коллегу. А дальше, в лучшем случае, QA заваливает вас багами и вы срываете дедлайны, в худшем — через месяц после доставки клиент обнаруживает, что он не может отдать отчеты регулятору потому, что вместо IP трейдера пишется «127.0.0.1». Формально задача решена — IP записан в базу, но в требованиях было написано «должен быть записан IP, по которому регулятор может определить интернет провайдера трейдера». Клиент нашел проблему, времени исправлять нет, его штрафуют. Отношения с клиентом испорчены — вам не дают новые заказы на разработку. Чтобы избежать пробл

Допустим, вы разработчик и поддерживаете проект. Коллега из соседнего проекта согласился вам помочь написать новую фичу — записывать IP трейдера, с которого он торговал на бирже.

Через пару дней коллега присылает код на ревью. Вы удостоверяетесь, что код правильно работает в многопоточный среде, есть какие-то тесты, структура кода соответствует всем заветам языка программирования. Вы даете добро на доставку кода клиенту, благодарите коллегу.

А дальше, в лучшем случае, QA заваливает вас багами и вы срываете дедлайны, в худшем — через месяц после доставки клиент обнаруживает, что он не может отдать отчеты регулятору потому, что вместо IP трейдера пишется «127.0.0.1».

Формально задача решена — IP записан в базу, но в требованиях было написано «должен быть записан IP, по которому регулятор может определить интернет провайдера трейдера».

Клиент нашел проблему, времени исправлять нет, его штрафуют. Отношения с клиентом испорчены — вам не дают новые заказы на разработку.

Чтобы избежать проблем, первым делом на ревью проверяй, что код решает проблему, для решения которой он и был написан.

Для этого нужно:

— понять зачем вообще делать всю фичу (не только конкретную задачу из Jira): почитать требования, уточнить у заказчика

— проверить что есть интеграционные тесты на бизнес логику

Иногда уже на ревью обнаруживается, что задачу клиента невозможно решить или решение будет работать только в 80% случаев. Задача разработчика в этом случае — ограничения описать в документации и обсудить с менеджером.