Смягчение критики: consider, might, what if
Тема дорожной карты · Английский для IT
🔊 Словарь терминов с произношением →
В англоязычной культуре code review прямое указание Rename this или This is wrong воспринимается как грубость, даже если по существу замечание верное. Норма — критика, оформленная как предложение или вопрос: Consider renaming this to users, This might break when the list is empty, What if we cached this? Это не лицемерие и не слабость, а конвенция, которая отделяет обсуждение кода от оценки человека и оставляет автору возможность возразить, не теряя лица. Инструменты смягчения: модальные глаголы might, could, may (this could fail under load); глаголы предложения consider, suggest (I'd suggest extracting a helper); вопросительная форма (Could we…?, Would it make sense to…?, Is there a reason we…?); безличные конструкции (it might be worth…, it seems like…); обозначение мнения (IMO, I think, I feel); квалификаторы (a bit, slightly, somewhat: this is a bit hard to follow); и фокус на коде, а не на авторе (the function does X вместо you did X). Обратная сторона: фраза it might be worth considering X от британского коллеги почти всегда означает «сделай X», и читать её как необязательную идею — ошибка.
Как произносится
Consider /kənˈsɪdər/ (ударение на второй слог), suggest /səˈdʒɛst/, might /maɪt/ (gh немое), could /kʊd/ (l немое), would /wʊd/, worth /wɜːrθ/ (с «θ»), perhaps /pərˈhæps/, slightly /ˈslaɪtli/, somewhat /ˈsʌmwɒt/, concern /kənˈsɜːrn/, nitpick /ˈnɪtpɪk/, feel free /fiːl friː/ («можешь спокойно»), no worries /noʊ ˈwʌriz/, fair point /fɛər pɔɪnt/ («справедливо»).
Как употребляется
Шкала от прямого к мягкому на одном замечании — функция слишком длинная:
- Прямо (грубо в ревью): This function is too long. Split it.
- Нейтрально: This function is getting long; could we split it?
- Мягко: It might be worth splitting this into two functions for readability.
- Очень мягко (британский стиль): I wonder if this would read a bit easier as two functions? Not a blocker.
Другие шаблоны:
- What if we used a map here instead of the nested loop? — А что если использовать map вместо вложенного цикла?
- Is there a reason we're not reusing
parseDate? — Есть причина не переиспользоватьparseDate? (подразумевает: переиспользуй) - I may be missing something, but doesn't this skip the last element? — Возможно, я что-то упускаю, но разве это не пропускает последний элемент?
- Minor, feel free to ignore: the comment is outdated. — Мелочь, можно проигнорировать: комментарий устарел.
- Fair point, I hadn't considered that. — Справедливо, я об этом не подумал (ответ автора).
Ловушки
Первая ловушка — переносить русскую прямоту: «Переименуй» в русском ревью нейтрально, Rename it в английском звучит как приказ. Вторая — обратная: смягчать блокирующее замечание до неузнаваемости; уязвимость в коде требует blocking: this is exploitable, а не it might be worth looking at security here. Третья — не распознавать смягчённую форму как требование: Is there a reason we…? почти всегда означает «сделай иначе», а I wonder if… — «предлагаю». Четвёртая — you в замечаниях: you forgot the null check переводит фокус на человека; the null check is missing — на код. Пятая — извиняться за каждое замечание: sorry, but… в каждом комментарии выглядит неуверенно; sorry уместно, когда вы действительно ошиблись. Шестая — смайлики как единственное смягчение: Rename this :) остаётся приказом.