У деяких англійських акцентах, коли ми швидко кажемо «two for», це звучить як «two fer». «Two-for-one» означає, що, купивши одну річ, другу ми отримуємо безкоштовно. Тож фраза «two-fer» часто означає пропозицію «два за ціною одного».
Уявімо пекарню, яка має святкову пропозицію: можна купити два печива за ціною одного («two-fer one!»). Ми приймаємо пропозицію і (дуже щедро) вирішуємо віддати зайве печиво комусь іншому в черзі.
Наше завдання - визначити, що ми скажемо, віддаючи зайве печиво.
Якщо ми знаємо імʼя людини (наприклад, якщо її звати Do-yun), то скажемо:
One for Do-yun, one for me.
Якщо ми не знаємо імʼя людини, то замість нього скажемо you.
One for you, one for me.
Ось кілька прикладів:
| Імʼя | Діалог |
|---|---|
| Alice | One for Alice, one for me. |
| Bohdan | One for Bohdan, one for me. |
| One for you, one for me. | |
| Zaphod | One for Zaphod, one for me. |
Перш ніж почати, переконайтеся, що розумієте, як писати код, який проходить тестові випадки. Щоб дізнатися більше, перегляньте цей tutorial.
Більшість вправ із Java містить кілька тестових випадків. Ці випадки структуровано так, щоб підтримати корисний процес, відомий як розробка через тестування (TDD). TDD передбачає повторення структурованого циклу, який допомагає програмістам будувати складну функціональність частина за частиною, а не всю одразу. Цей цикл можна описати так:
Тестові файли цього треку містять усі тести, які мусить проходити рішення, щоб його визнали правильним. Це не одразу узгоджується з циклом, описаним вище, у якому тести пишуть один за одним. Однак інструмент, який ми використовуємо для написання тестів, JUnit, надає анотацію @Disabled, яку можна використати, щоб тимчасово пропустити вже написаний тест. За допомогою цієї анотації ми гарантуємо, що тестові файли, які ми надсилаємо, відповідають таким правилам:
Це дає змогу змоделювати цикл TDD, дотримуючись цих трохи змінених кроків:
@Disabled у тестовому файлі.Зареєструйтеся на Exercism, щоб вивчати й опановувати Java, а також 26 концепцій158 вправ та справжнє наставництво від людей, і все це безкоштовно.