Код-ревью: даём и принимаем фидбек
Код-ревью на английском — это дипломатия. Одно и то же замечание может прозвучать как помощь или как нападение. Слова решают.
Critique the code, not the coder. — золотое правило ревью
Хорошее ревью — это сотрудничество, а не суд. Англоязычная культура ревью выработала набор смягчающих формул, по которым видно опытного инженера. И принимать критику тоже нужно уметь: благодарно и без оправданий. Разберём обе стороны.
Как оставлять замечания
| Резко | Конструктивно |
|---|---|
| This is wrong. | I think this might cause an issue when … |
| Don't do it like this. | Have you considered using X here? |
| Bad naming. | nit: maybe a clearer name like userCount? |
| This won't work. | This could break if the list is empty. |
| Rewrite this. | Suggestion: we could simplify this with map(). |
Маркеры важности замечания
| Маркер | Значение | Обязательно чинить? |
|---|---|---|
| nit: | мелочь, на твоё усмотрение | нет |
| suggestion: | предложение, можно обсудить | опционально |
| question: | вопрос для понимания | ответить |
| issue: / blocker: | проблема, блокирует merge | да |
| praise: / nice: | похвала, отметить хорошее | — |
Префиксы экономят нервы: ревьюер сразу даёт понять, что критично, а что — вкусовщина. Если видишь nit: — можешь спокойно проигнорировать.
Как отвечать на ревью
Good answers (благодарно, по делу): "Good catch, fixed!" — Хорошее замечание, поправил! "Makes sense, updated." — Логично, обновил. "Fair point. I kept it because …" — Справедливо. Оставил, потому что… "Thanks, didn't think of that." — Спасибо, не подумал об этом. Avoid (оборонительно): "It works on my machine." — звучит как отмазка "Why does it matter?" — звучит агрессивно Молчаливый push без ответа — выглядит как игнор
Полезные фразы
Good catch, thanks! — Хорошее замечание, спасибо! I'll address this in the next commit. — Поправлю в следующем коммите. Could you clarify what you mean here? — Можешь пояснить, что имеешь в виду? I'd push back on this one because … — Тут я бы не согласился, потому что…
Частые ошибки рус-говорящих
- Воспринимать ревью как личную атаку. Замечания — к коду, не к тебе. «Good catch, fixed» — здоровая реакция, а не капитуляция.
- Оправдываться вместо ответа. «It works on my machine» звучит как отмазка. Лучше: «Fixed» или «Fair point, I kept it because…».
- Резкие замечания без префиксов. Без
nit:/suggestion:мелкое пожелание читается как требование. Помечай важность.
Чек-лист ревьюера и автора
- Замечание помечено префиксом важности (nit/suggestion/blocker)?
- Критикуешь код, а не человека?
- На каждый комментарий ревьюера есть твой ответ или реакция?
- Отметил ли что-то хорошее (praise:), а не только проблемы?
Несогласие без конфликта
Иногда ты не согласен с замечанием — и это нормально. Англоязычная культура ревью позволяет «push back» (возразить), но требует делать это аргументированно и уважительно. Цель — договориться о лучшем решении, а не выиграть спор.
| Ситуация | Фраза |
|---|---|
| Возразить мягко | I'd push back gently here — … |
| Предложить компромисс | What if we did X instead? |
| Согласиться частично | You're right about A, but for B I'd keep it. |
| Признать правоту | Yeah, you've convinced me. Let's do it your way. |
| Отложить спор | Let's discuss this on a quick call. |
Важная тонкость: разделяй «blocking» и «non-blocking» замечания и проси ревьюера делать так же. Фраза «non-blocking, but…» означает «можешь не чинить, просто мысль вслух». Это снимает напряжение: автор понимает, что апрув не висит на каждой запятой, и спокойно решает, что взять в работу.
Реакции-минимум на ревью
| Ключ | Смысл | Где встречается |
|---|---|---|
| Good catch, fixed! | хорошее замечание, поправил | здоровая реакция |
| Fair point, I kept it because… | справедливо, но оставил… | аргументированно |
| nit / non-blocking | мелочь / не блокер | снимает напряжение |
| Have you considered…? | ты не думал о…? | мягкое замечание |
Критикуй код, а не человека; принимай критику благодарно. Помечай важность замечаний — и ревью станет сотрудничеством, а не спором.
Итоги
Код-ревью на английском — про дипломатию. Оставляй замечания конструктивно («I think this might…», «Have you considered…») и помечай важность префиксами (nit:, suggestion:, blocker:). Принимай критику благодарно: «Good catch, fixed» вместо оправданий. Критикуй код, а не человека, и отвечай на каждый комментарий.