Комментарии ревью: nit, LGTM, PTAL, WDYT

Тема дорожной карты · Английский для IT

🔊 Словарь терминов с произношением →

У code review сложился собственный словарь сокращений и меток, который экономит время и одновременно задаёт тон. LGTM — looks good to me, «мне нравится, одобряю»; часто с уточнением LGTM with nits (одобряю, есть мелочи) или LGTM once CI is green. PTAL — please take a look, просьба посмотреть, обычно после того, как автор обработал замечания. WDYT — what do you think, вопрос мнения без нажима. nit или nitpick — придирка, мелкое замечание, которое не блокирует слияние: nit: trailing whitespace. non-blocking — не блокирует, можно исправить потом. blocking — блокирует, нужно исправить до слияния. suggestion — предложение; в GitHub это ещё и блок, который автор может применить одной кнопкой. question — вопрос, не требование. praise — похвала, которую хорошие ревьюеры не забывают: nice catch, clean solution. FYI — for your information, к сведению. IMO / IMHO — in my (humble) opinion, по моему мнению. AFAIK — as far as I know, насколько я знаю. TL;DR — краткое резюме длинного комментария. WIP — work in progress, черновик. RFC — request for comments, PR, открытый для обсуждения идеи. +1 — согласен. SGTM — sounds good to me, «звучит хорошо», обычно про план, а не про код. Approved и Request changes — статусы ревью в GitHub. Resolved — тред закрыт. Outdated — комментарий относится к старой версии кода. Nice catch — хорошо подмечено. Ship it — выкатывай, неформальное одобрение.

Как произносится

Аббревиатуры читают по буквам: LGTM /ˌɛl dʒiː tiː ˈɛm/, PTAL /ˌpiː tiː eɪ ˈɛl/, WDYT по буквам или разворачивают в what do you think, FYI /ˌɛf waɪ ˈaɪ/, IMO /ˌaɪ ɛm ˈoʊ/, AFAIK по буквам или /əˈfeɪk/, WIP как слово /wɪp/ или по буквам, RFC по буквам. Nit /nɪt/, nitpick /ˈnɪtpɪk/ (буквально «вычёсывать гнид», отсюда «придираться к мелочам»), blocking /ˈblɒkɪŋ/, suggestion /səˈdʒɛstʃən/ («сэджЕсчен», ударение на второй слог), praise /preɪz/, resolved /rɪˈzɒlvd/, outdated /ˌaʊtˈdeɪtɪd/.

Как употребляется

Комментарии ревьюера:

  • nit: userList → users, we don't suffix collections. — Мелочь: коллекции без суффикса.
  • blocking: this leaks the DB connection on error, see line 42. — Блокирует: утечка соединения при ошибке.
  • question: is the retry intentional here? It might double-charge. — Вопрос: повтор здесь намеренный? Может списать дважды.
  • suggestion (non-blocking): extract this into a helper for readability. — Предложение, не блокирует: вынести в хелпер.
  • praise: nice catch on the timezone edge case. — Хорошо подмечен граничный случай с таймзоной.
  • LGTM with nits, feel free to merge after addressing. — Одобряю с мелочами, сливай после правок.

Ответы автора: Done. / Fixed in a1b2c3. / Good point, addressed. / I'd rather keep it as is because… / Tracked in #145 for a follow-up. / PTAL.

Ловушки

Первая ловушка — LGTM как вежливость без чтения: в англоязычных командах это означает ответственность за одобренный код. Вторая — метки без пояснения: nit без текста или blocking без причины оставляют автора гадать. Третья — WDYT как риторический вопрос: если вы уверены в замечании, пишите please change, а не WDYT; иначе автор ответит «I think it's fine» и будет прав. Четвёртая — считать nit необязательным: ревьюер не блокирует, но ожидает, что автор поправит или объяснит, почему нет. Пятая — suggestion в GitHub с неверным отступом: применённое одной кнопкой предложение ломает форматирование. Шестая — русские сокращения в международном ревью: «нз» и «ок, пофиксил» непонятны; используйте np (no problem) и done.

Связанные понятия

Полезные ресурсы