Англійська мова для перегляду коду: фрази і приклади

Точні фрази, які досвідчені розробники використовують, щоб надати і отримати зворотній зв’ язок щодо перегляду коду — від ввічливих пропозицій до критичних коментарів щодо блокування — з реальними прикладами.

Перегляд коду є місцем, де відбувається багато найважливіших технічних комунікацій - і де мовні навички мають величезне значення. Неправильно сформулований коментар може викликати плутанину, оборону або марне пересування туди-назад. Хорошо сформулированный комментарий приводит к более быстрому слиянию PR, поддерживает команду в восторге и в то же время что-то учит.

У цьому підручнику наведено конкретні фрази і словники, які вам слід знати, щоб надавати і отримувати зворотній зв’ язок щодо перегляду коду англійською мовою.


Розпізнавання типів коментарів перегляду коду

Перед написанням коментаря визначте його тип. Більшість інструментів перегляду коду не вимагають цього розрізнення, але досвідчені інженери сигналізують про це через мову.

TypeWhat it meansLanguage signal
Blocker / requiredMust be fixed before merge”This needs to…”, “Please change…”, “This will break…”
SuggestionWorth considering but optional”Consider…”, “You might want to…”, “One option would be…”
NitTrivial style / preference”Nit:”, “Minor:”, “Optional —“
QuestionSeeking understanding, not requesting a change”What’s the reason for…?”, “Can you explain why…?”
PraisePositive feedback”Nice!”, “Great approach here.”, “Clever use of…”

Не всі переглядачі позначають типи явно, але ваша мова повинна ясно показувати намір.


Фрази для запропонованих змін (не блокування)

Якщо зміна не обов’ язкова або є питанням переваги, зменшіть значення мови, щоб це було чітко видно.

“Розгляньте можливість витягування цього до допоміжної функції — це також полегшить тестування.”

  • “Вам може знадобитися додати тут перевірку на нуль, на випадок, якщо API поверне неочікувану форму.” *
  • “Одна дрібниця: назва змінної data є досить загальною. Щось на зразок userProfiles зробить це легше для сканування.”*
  • « Не блокуючий, але цей шаблон трохи складніше читати — чи ви розглядали можливість використання тричленного коду? » *

“Необов’язково: ви можете спростити рядки 42-45 з Array.from(), але поточний підхід теж в порядку.”

Ключові слова: розглянути, може бути зацікавлено, один варіант, не блокуючий, необов’язковий, просто думка.


фрази для потрібних змін (блокувальники)

Якщо щось дійсно потрібно виправити перед об’ єднанням, будьте прямими — але не грубими. Прямо по-англійськи не означає агресивно.

  • “Це поверне TypeError, якщо userId дорівнює undefined. Будь ласка, додайте клаузулу захисту перед викликом бази даних.”*
  • “Ця зміна вводить вразливість втручання SQL — введення користувача ніколи не повинно інтерполюватися безпосередньо у запит. Будь ласка, використовуйте параметризовані запити.”*
  • “Назва функції getUser, але вона також записує дані до бази даних. Будь ласка, розділяйте питання читання і запису.»*

“Цей тест насправді нічого не стверджує — твердження знаходиться поза блоком it(). Будь ласка, перенесіть його всередину.”

  • “На зустрічі з архітекторами ми обговорили, що тут буде використано шаблон сховища, а не прямі виклики бази даних. Будь ласка, перефрактуруйте.»*

Фрази для запитання

Іноді ви не розумієте код і хочете дізнатися більше — не вимагайте змін.

“Яка причина використання useEffect з порожнім масивом залежностей замість запуску цієї логіки поза компонентом?”

“Я не знайомий з цим підходом — чи можете ви додати коментар, що пояснює намір?”

“Цікаво, що вибрали Set тут. Чи є це проблемою, чи це було для дедуплікації?»

  • “Чому ми ловимо цю помилку і відправляємо її знову як нову помилку? Чи є певна причина для його обгортання?»*

Питання є цінними — вони спонукають автора пояснити своє мислення, часто розкриваючи справжню проблему або поліпшуючи коментар, який пояснює її для майбутніх читачів.


«Ніч» (англ. Night) — міні-серіал

** Nit ** (короткий від « nitpick ») означає: * « Це незначна, незначна перевага, а не справжня проблема. » * Це сигналізує про те, що рецензент не блокує PR, але помітив щось незначне.

  • “Nit: кінцевий пробіл на рядку 47.” *

“Nit: const є кращим за let, коли змінна ніколи не перепризначається.”

  • “Незначний ніт: у цьому коментарі написано « повертає користувача », але слід писати « повертає ідентифікатор користувача ». Не блокер».*

Використання « ні » або « незначний » є професійним сигналом того, що ви ретельно переглядаєте сторінки і не перебільшуєте незначних вподобань.


Фрази для позитивного відгуку

Перегляд коду не тільки про знаходження проблем. Визнавання хорошої роботи має реальну цінність для командного моралю і обміну знаннями.

  • “Хороше використання запам’ ятовування — це набагато швидше, ніж попередній підхід.” *

“Відмінне тестове покриття. Мені особливо подобається, що ви охоплюєте крайній випадок, коли список порожній.»

  • “Елегантний варіант. Я не думав про використання генератора тут — я запам’ятаю цей шаблон.»*
  • “Це велике поліпшення порівняно зі старою реалізацією. Чистіше і простіше дотримуватися.” *

“LGTM — добре структуровані зміни. Раді затвердити.»

LGTM = «Виглядає добре для мене» — найпоширеніша фраза схвалення в переглядах коду.


Отримання зворотнього зв’язку від перегляду коду: відповідати професійно

Знати, як відповідати на відгуки, так само важливо, як і як їх давати.

Подтверждаю и исправляю

“Хороший полов — я оновлю це.”

*“Ти маєш рацію, я пропустив це. Виправлено в останньому затвердженні. *

“Дякую за пояснення — я переробив функцію і додав тест.”

С уважением не согласен

“Я понимаю твою мысль, но я выбрал этот подход, потому что…”

“Це справедлива пропозиція. Я вибрав цей шаблон для [причини] — чи хотіли б ви обговорити це далі, чи я повинен продовжувати зі зміною?»

  • “Я б хотів залишити його таким, оскільки він відповідає шаблону, який використовується у решті модуля. Я хочу, щоб ти переглянув це, якщо ти сильно відчуваєш»

Прошу прояснити

“Чи можете ви розкрити цей коментар? Я не впевнений, які зміни ви пропонуєте.»

  • « Тільки для підтвердження: ви просите мене змінити тип, логіку або назву тут? » *

Ключеві слова: Code Review Vocabulary

Term / PhraseMeaning
LGTMLooks Good To Me — casual approval
nit / nitpickMinor stylistic comment, not blocking
blocking / needs changesPR cannot be merged as-is
out of scopeNot related to this PR — fix in a separate issue
let’s revisitWorth discussing, but not now or here
hardcodedValue written directly into code instead of using a variable/config
magic numberUnexplained numeric constant in code — usually a nit
stale commentA comment that no longer reflects the current code
dead codeCode that is never executed — usually flagged in reviews
happy pathThe expected, error-free flow through code

Програма для перевірки лексичного запасу

Спробуйте завершити ці речення перед перевіркою статті, наведеної вище:

  1. «Це не блокатор, а _______ витягування цього в окрему функцію утиліти.»
  2. «_______ причина використання рекурсивного підходу тут замість ітерації?»
  3. «Гаразд _______ — я не думав перевірити випадок порожнього масиву.»
  4. «Цей вхід не очищений — це призведе до _______ вразливості введення»
  5. ”_______ — схвалено. Чиста робота»

(Відповіді: 1 — розглянути / 2 — що / 3 — ловити / 4 — SQL / 5 — LGTM)


Перегляд коду є в основному спільною, письмовою розмовою між інженерами. Мова, якою ви користуєтеся, формує культуру рецензування. Точна, доброзичлива і ясна англійська робить перегляд коду швидшим, менш стресовим і справді освітнім — для всіх, хто бере участь.

Поширені запитання

Про що ця стаття "Англійська мова для перегляду коду: фрази і приклади"?

Точні фрази, які досвідчені розробники використовують, щоб надати і отримати зворотній зв’ язок щодо перегляду коду — від ввічливих пропозицій до критичних коментарів щодо блокування — з реальними прикладами.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Англійська мова для перегляду коду: фрази і приклади"?

Приблизно 8 min.