Граматика для умовних речень в технічних документах: якщо, коли і якщо
Освоєння умовних речень у технічній документації — якщо проти коли проти якщо, нульові умовні, реальні проти гіпотетичних умов — з прикладами і поширеними помилками.
Технічна документація повна умов: * якщо термін дії токена закінчився, оновіть його; коли збирання завершиться, розгорніть; якщо прапорець не встановлено, пропустіть цей крок.* Вибір неправильного умовного слова — або неправильного часу — робить інструкції неоднозначними, а неоднозначні інструкції спричиняють вади. Цей підручник містить граматику умовних речень, призначених спеціально для технічної документації.
Нульовий умовний: робочий кінь документів
Більшість документації описує загальні істини і правила, тому ** нульова умова ** домінує. Його форма проста:
** Якщо ** + теперішній простий, ** теперішній простий **.
-
- « Якщо кеш порожній, система отримає дані з бази даних. » *
-
- “Якщо запит перевищив час очікування, клієнт повторить спробу.” *
-
- “При виклику цього методу, він повертає обіцянку.” *
Нульова умова описує речі, які завжди істинні за даної умови. Обидва речення використовують теперішній простий час. Це типове значення для пояснення поведінки системи.
Невірно: « Якщо кеш порожній, система ** отримає ** з бази даних. » (загальне, а не одноразове передбачення) Праворуч: “Якщо кеш порожній, система ** отримає ** з бази даних.”
Для * загальної поведінки системи *, використовуйте present simple в обох реченнях.
«Якщо» проти «коли»: невизначеність проти певності
Це розрізнення, яке нерідкісні письменники роблять неправильно найчастіше.
- ** if ** — умова * може або не може * статися. * « Якщо станеться помилка, записати її у журнал ». * (помилки можуть не виникати)
- ** коли ** — умова * буде * виконано; відкрито лише часовий параметр. * « Коли вивантаження буде завершено, показувати підтвердження ». * (вивантаження буде завершено)
Тест: чи можете ви замінити його на « у разі, якщо » (→ використовувати * якщо *) або « у момент, коли » (→ використовувати * коли *)?
-
- “Якщо користувач є адміністратором, показати панель управління.” * — невідомо, чи є користувач адміністратором. ✔ якщо
-
- « ** Коли ** завантажиться сторінка, отримати дані. » * — сторінка буде завантажено. ✔ * коли *
Використання * коли * для невідомої умови означає, що вона гарантована, що може ввести у оману:
Вводяче в оману: «Якщо оплата зазнає невдачі, поверніть користувачеві гроші» (надає змогу припустити, що оплата завжди зазнає невдачі) Правильно: “Якщо оплата зазнає невдачі, поверніть користувачеві"
"Якщо”: якщо ні
** Якщо ** означає * якщо не * або * крім якщо *. Це коротко і звичайно в документах, але в ньому є пастки.
-
- « Якщо кеш не є свіжим, перезавантажити » * = * « Якщо кеш не є свіжим, перезавантажити » *
-
- “Не повторювати спробу, якщо помилка не повторюється.” * = * “Спробуйте ще раз, лише якщо помилка повторюється.” *
Пастка: не додавайте другий негативний. * Якщо * вже містить “не”.
Неправильно: «Якщо у вас немає дозволу, ви можете редагувати.» (подвійний негативний — заплутаний) Праворуч: «Якщо у вас немає дозволу, ви не можете редагувати.» — або простіше: «Ви можете редагувати тільки якщо у вас є дозвіл»
Якщо unless ускладнює аналіз речення, переписуйте його з if not або only if. Ясність перемагає короткість у документах.
”При условии, что”, “пока”, “на случай”
Ці додають нюанс:
- ** provided (that) / as long as** — підкреслює необхідну умову. * « Розгортання завершиться успішно, якщо всі тести пройдуть успішно ». *
- ** in case ** — як запобіжний захід проти можливості (не те саме, що * if *). * « Зберігати резервну копію на випадок невдачі перенесення ». *
- ** once ** — після виконання умови. * « Після отримання блокування, записати до файла. » *
Зауваження in case vs if: “Візьміть парасольку in case it rains” (обережність, перед тим, як дізнатися) відрізняється від “Візьміть парасольку if it rains” (умова, ви дізнаєтеся). У документації: “Загорнути в try/catch in case виклик throws” (обережність) проти “Повторити if виклик throws” (умовна дія).
Реальний проти гіпотетичного: перший проти другого умовного
Більшість документів використовують реальні умови (нульовий/перший умовний). Іноді ви описуєте гіпотетичні.
** Перша умовна ** (реальна можливість майбутнього):
** Якщо ** + теперішній простий, ** буде ** + базове дієслово.
-
- “Якщо ви встановите цей прапорець, служба пропустить перевірку.” *
Використовувати першу умову для * певного наслідку, який буде викликано читачем *, проти нульової умови для * загальної поведінки *. Обидві версії правильні; перша підкреслює передбачуваний результат.
** Друга умова ** (гіпотетична / малоймовірна):
** Якщо ** + минуле просте, ** буде ** + базове дієслово.
-
- “Якщо ми вилучили б кеш, затримка подвоїлася б.” * (ми його не вилучаємо, це гіпотеза)
Використовуйте другу умову у дискусіях щодо дизайну і поясненнях щодо компромісів, а не у покрокових інструкціях.
Умови в імперативних інструкціях
У документації часто поєднується умова з командою. Команда залишається в імперативному стані:
-
- “Якщо термін дії токена закінчився, оновити його.” *
-
- “Якщо тест зазнає невдачі, ** перевірте ** журнали.” *
- “Якщо ви не підключені до VPN, з’ єднайтесь спочатку.”
Зберігати умову першою, коли вона охоплює всю інструкцію — читачі вирішують, чи робити щось, перш ніж прочитати дію. Поставте його на друге місце, лише якщо дія є головною:
-
- “Освіжити токен, якщо його термін дії закінчився.” * (перша дія, умова є незначним застереженням)
Поширені помилки
- ** « Will » у нульовому умовному речення. ** Для загальної поведінки використовуйте теперішній час у двох реченнях: * « Якщо X відбудеться, система запише це у журнал », * а не * « … запише це у журнал ». *
- ** « Коли » для невідомих умов. ** Використовуйте * якщо *, якщо умова не може бути виконана.
- Подвійні від’ємники з “якщо”. Якщо вже означає якщо не. Не добавляй еще не.
- ** « На випадок » використовується як « якщо ». ** * На випадок * — це запобіжний захід; * якщо * — це умова.
- ** Смішування часів у реченні. ** У будь- якій частині тримайте нульовий умовний час у теперішньому часі.
- ** Похування умови. ** Коли умова має обсяг інструкції, ставте її першою.
Краткий справочник
| You mean… | Use | Example |
|---|---|---|
| Always true given X | zero conditional | ”If X is null, the function returns early.” |
| Uncertain condition | if | ”If an error occurs, retry.” |
| Certain, timing open | when | ”When the job finishes, notify.” |
| If not / except | unless | ”Skip it unless the flag is set.” |
| Precaution | in case | ”Cache it in case the API is slow.” |
| Specific triggered outcome | first conditional | ”If you enable this, it will log requests.” |
| Hypothetical | second conditional | ”If we sharded, writes would scale.” |
Ключевые вещи
- ** нульовий умовний ** (present + present) є типовим для поведінки системи.
- ** Якщо ** = невідомо; ** коли ** = певний час — не замінюйте їх.
- Unless = if not; ніколи не паруйте його з другим негативним.
- На всякий випадок - це заходи безпеки, а не умова.
- Залишити другу умову для гіпотетичних обговорень проекту.
Якщо ви правильно встановите умовні речення, ваша документація буде точно відповідати їх значенню — у цьому і полягає суть документації.
На практиці: Навігація нюансів для не-народжені мовці
Розуміння умовних речень не тільки про знання граматичних правил; це про передачу точного наміру в технічному контексті. Для не-рідних носіїв англійської мови, це може бути особливо складним завданням, тому що тонкі відмінності у фразування мають значну вагу. Розглянемо звичайний сценарій: ви переглядаєте запит на захоплення, надісланий колегою. У описі PR написано: « Якщо ми реалізуємо цю можливість, сервер зазнає аварії ». Хоча граматично це правильний опис, але він не є чітким і може призвести до непотрібних переробок. Проблема не в тому, чи реалізація призведе до аварії - це те, що твердження представляє передбачення як певність. Краще вказати це як спостереження або потенційний результат: « Ми спостерігали, що реалізація цієї можливості * може * призвести до аварії сервера за певних умов навантаження ». Це додавання негайно вводить ступінь обережності і запрошує до подальшого дослідження, а не до негайного виклику попередження.
Аналогічно, в розмовах Slack, де обговорюються виправлення помилок, такі фрази, як «Якщо я виправлю це, все буде добре», можуть бути проблематичними. Хоча вони мають добрі наміри, вони часто маскують невизначеність або не мають точності, необхідної для ефективного співробітництва. Професійнішим підходом буде: « Після дослідження, я визначив, що виправлення цієї проблеми * зменшить * повідомлену помилку. » У цьому випадку використовується сильніше дієслово — * зменшити * — для передачі очікуваного результату без перебільшення впливу рішення. Ключовим є перейти від простого затвердження того, що може статися, і замість цього зосередитися на описі ймовірних наслідків дії, визнаючи потенційні складності. Це дозволяє більш продуктивні обговорення і зменшує непорозуміння, які можуть виникнути, коли очікування не чітко сформулювати. Пам’ ятайте, технічна документація не просто передає інформацію; вона сприяє розумінню і співпраці в команді.
Інша поширена область плутанини виникає з використанням «unless». Часто перекладається безпосередньо з інших мов, «unless» може звучати надто наголошено в англійській мові. Це часто означає абсолютну заборону — щось, що не повинно відбутися. У технічному тексті, зазвичай, краще використовувати м’ які мови і розглядати альтернативи, наприклад: « Система буде працювати правильно * доки * мережеве з’ єднання стабільне ». Таким чином, ви уникнете надання жорсткого обмеження і дозволите невеликі коливання без виклику помилки. Крім того, при описі очікуваної поведінки, уникайте використання «якщо» в гіпотетичних сценаріях; це має тенденцію звучати надто драматично і менш професійно. Сфокусуйтеся на викладенні умов, які приведуть до конкретних результатів, а не тих, які не приведуть.
Нарешті, пам’ ятайте про рівень формальності, який відповідає вашій документації. Хоча прагнення до ясності є найважливішим, надто складні структури речень або жаргон можуть створювати перешкоди для розуміння. Приоритетно використовуйте чітку, коротку мову і враховуйте технічне підґрунтя аудиторії.
# Example using `kubectl` to describe a deployment, demonstrating conditional phrasing
kubectl describe deployment my-app --namespace default