Анатомія умовного речення
Умовне речення складається з двох частин — клауз:
- if-клауза — умова;
- головна частина (result clause) — те, що з умови випливає.
If the migration fails, we roll back automatically.
└──── if-клауза ────┘ └──── главная часть ────┘
Жодна частина не живе окремо. If the migration fails залишає читача в очікуванні; we roll back automatically граматично самостійна, але нічого не каже про те, коли.
Порядок можна змінити
Обидва порядки правильні й означають одне й те саме. Змінюється акцент: те, що стоїть першим, і є тим, на що ви звертаєте увагу.
| Порядок | Приклад | Акцент |
|---|---|---|
| Спочатку умова | If the migration fails, we roll back automatically. | на ризику |
| Спочатку результат | We roll back automatically if the migration fails. | на захисті |
У статусі для команди ви напишете перше. У документації, що описує функцію, — друге.
Правило коми
Правило одне, і його варто вивчити, бо воно механічне:
if-клауза перша → кома. Головна частина перша → коми немає.
- ✅ If the build is red, don't merge.
- ✅ Don't merge if the build is red.
- ❌ Don't merge, if the build is red.
- ❌ If the build is red don't merge.
Опора на російську. Російська пунктуація ставить кому перед «если» завжди: «Не мержи, если сборка красная». Англійська — ні: коли умова стоїть другою, слово if саме позначає межу, і кома зайва. Ця помилка тримається в сильних учнів найдовше — саме тому, що російське правило спрацьовує автоматично.
Опис
Ромб с вопросом «Что стоит первым?». Стрелка «условие» ведёт к блоку «if-клауза: If the build is red, don't merge.», под ним — «ставим запятую». Стрелка «результат» ведёт к блоку «главная часть: Don't merge if the build is red.», под ним — «запятой нет — не переносите русское правило». Схема сводит правило к одному вопросу о порядке частей.
Час дієслова — не час події
Це одна думка, яка відкриває весь курс.
Час дієслова (tense) — форма: fails, failed, had failed. Час події (time) — коли це відбувається: зараз, учора, наступного вівторка.
В умовних реченнях вони розходяться:
- If it rains tomorrow, the outdoor stand-up is cancelled. — present (rains), а час — майбутній.
- If we had more staging capacity, we would test this properly. — past (had), а час — теперішній. Ідеться про сьогоднішні потужності, а не про торішні.
Що ж тоді виражає зсув часу назад? Дистанцію від реальності. Present — реально можливе. Past — уявне зараз. Past perfect — уявне в минулому, те, чого вже не було.

Опис
Раскрытый старый скетчбук на грубом деревянном столе. Левая страница в тёплой акварели: молодая женщина в зелёном джемпере сидит за рабочим столом с ноутбуком и кружкой, за окном дождь. Правая страница нарисована только бледным карандашом, без цвета: та же женщина отдыхает в шезлонге у моря под зонтом, рядом на песке лежит закрытый блокнот. Это ключ ко всему курсу: акварель — реальность («сейчас я работаю»), голый карандаш — воображаемое («If I had a week off, I would be at the sea»). Past simple had здесь про сегодня, а не про прошлое. Рисунок не показывает саму форму глагола — только, что реально, а что нет.
Так влаштовані всі малюнки курсу: акварель — реальність, блідий олівець — уявне. Тому тип не можна «зчитати» з форми дієслова. Треба запитати, що мовець стверджує про світ. Цього — а не таблиці часів — і вчить курс.
Чотири традиційні типи
Ви їх, найімовірніше, зустрічали. Це зручні ярлики для чотирьох частих випадків, курс ними користується, але система ними не вичерпується.
| Назва | Схема | Приклад |
|---|---|---|
| Zero | if + present, present | If the cache key is missing, the service queries the database. |
| First | if + present, will + infinitive | If we merge today, we will ship on Friday. |
| Second | if + past simple, would + infinitive | If we had a second reviewer, the queue would move faster. |
| Third | if + past perfect, would have + past participle | If we had pinned the version, the build would not have broken. |
А тепер чотири звичайні речення з робочого тижня в ENGAGE, які в жоден тип не вміщаються:
- If the retry succeeded, the alert must have been noise. (висновок про минуле — u08)
- If the load test passes, deploy to production. (інструкція — u03)
- If you assess the data thoroughly, you might find the root cause. (послаблений прогноз — u07)
- If we had pinned the version, the build would not be broken right now. (причина в минулому, наслідок зараз — u06)
Усі чотири — нормальна англійська. Вони будуть далі. Тут вони лише для того, щоб ви перестали чекати від кожного умовного речення номера.
Що насправді змінюється
Три речі, і змінюються вони майже незалежно:
- Наскільки реальна умова? — факт, імовірне майбутнє, малоймовірна гіпотеза чи неможливе.
- Що робить мовець? — стверджує, прогнозує, робить висновок, радить, розпоряджається, шкодує.
- Наскільки він упевнений? — will / should / might в одному й тому самому місці дають дуже різний ступінь упевненості.
Далі курс проходить цими трьома осями по черзі.
