Як обговорювати парне програмування англійською

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

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


Ключовий словник

** Водій ** — людина за клавіатурою, яка активно пише код. « Я зараз за кермом, тому дайте мені знати, якщо ви щось не так побачите. »

** Навігатор ** — людина, яка спостерігає, передбачує і надає вказівки без введення тексту. « Поки ви керуєте, я буду керувати — я буду стежити за загальною структурою »

** Сеанс парування ** — запланований проміжок часу для спільної роботи двох розробників. « Чи є у вас час на сеанс парування сьогодні післяобідньо? » Я застряг на логіці автентифікації»

** Моб- програмування ** — це те саме, що і парне програмування, але з всією командою (трьома або більше людьми) на одній машині. « Ми працювали над цією можливістю цілий ранок — це було хаотично, але ми виявили багато випадків, коли використовувалися краї »

** Парування за правилами пінг- понга ** — це метод TDD, за якого одна людина пише тест, який не пройшов, а інша людина робить так, щоб він пройшов, потім вони змінюють один одного. « Хочете спробувати парування за правилами пінг- понга у цьому модулі? » Це може допомогти нам думати через інтерфейс»

** Перемикання / поворот** — зміна керування і навігації. « Ми повинні повертатися кожні 25 хвилин — це збереже нас обох зайнятими »

** Асинхронне продовження ** — нотатки або завдання, які залишилися після сеансу парування для роботи, яку слід виконати самостійно. « Залиште асинхронне продовження для випадків, коли ми не мали часу обробляти периферійні пристрої. »


Поширені фрази під час початку сеансу

Перед тим, як почати, це допомагає зрівняти очікування. Ці фрази є природні і прямі:

  • «Ти хочеш керувати першим, чи мені?»
  • «Let’s timebox this — how does 90 minutes sound?» (англійською)
  • «Я вже маю певний контекст на цій кодовій базі, тому я буду переходити, щоб почати»
  • Чи можемо ми поділитись нашим екраном, чи краще використовувати спільне середовище розробників?»
  • «Давайте поставимо швидку мету — що ми хочемо, щоб працювало до кінця цієї сесії?»

Фрази для зміни ролей

Перемикання ролей в середині сеансу є нормальним і здоровим, але багато носіїв, які не є рідними носіїв, вагаються, тому що вони не знають, як запитати. Ці фрази ввічливі і поширені:

  • «Чи не заважаєте ви, якщо я трохи займуся керуванням?»
  • «Дай мені трохи поїхати — я хочу спробувати щось»
  • “Власне, ти можеш керувати? Я хочу думати через логіку вголос.»
  • «Ми були в цьому на деякий час — хочемо обмінятися?»
  • «Мої зап’ястя потребують перерви — чи хочете ви взяти на себе?»

Фраза “взяти кермо” є неформальною ідіомою, що означає взяти контроль. Він широко використовується в технічних розмовах і відчувається природно в контекстах парного програмування.


Фрази для ролі Навігатора

Добре керувати означає давати вказівки без мікроуправління. Тон повинен бути співпрацелюбним, а не контролюючим:

  • «Тільки думка — чи можемо ми витягнути це в свою власну функцію?»
  • «Я бачу, що ви робите, але мені цікаво, чи нам потрібно обробляти нульовий випадок там»
  • “Можеш трохи підняти? Я хочу перевірити, як ми визначили цей інтерфейс»
  • «Відчуваю себе добре, я хочу далі жити»
  • “Зачекайте — я думаю, що назва змінної може викликати плутанину пізніше. Що ви думаєте про переназвання його?»

Зауважте використання хеджування мови: * “просто думка” *, * “Я запитав, чи” *, * “може ми хочемо” *. Ці параметри пом’якшують пропозиції і роблять навігатор більш співпрацюючим, ніж критичним.


Фрази, яких слід уникати

Деякі фрази можуть сприйматися як відверто неприязні або контролюючі, навіть якщо ви маєте на увазі щось доброе:

AvoidTry instead
”No, that’s wrong.""Hmm, I’m not sure that handles the edge case — let’s talk it through."
"Let me just do it.""Mind if I take the keyboard for a second?"
"You’re not listening to me.""I want to make sure I explained that clearly — let me try again."
"That’s obvious.""Right — and just to build on that…"
"Why did you do it that way?""Interesting approach — what was the thinking behind that?”

Обробка розбіжностей під час парування

Недовіра до підходу - це нормально. Ключовим є відокремлення технічної дискусії від особистої динаміки:

  • «Я розумію твою думку, але я хочу відштовхнути одну річ — чи можемо ми спочатку перевірити це припущення?»
  • «Я не повністю впевнений — а що, якщо ми спробуємо це по-моєму і побачимо, що скажуть тести?»
  • “Ми можемо йти в кругу. Чи можемо ми витратити п’ять хвилин, щоб вирішити і рухатися далі?»
  • «Давайте позначимо це як розбіжність і приведемо це до командного стоячого — ми не повинні вирішувати це зараз»

Краткий справочник

SituationPhrase
Starting the session”Do you want to drive first?”
Taking over the keyboard”Let me drive for a bit.”
Giving gentle feedback as navigator”Just a thought — might we extract that?”
Suggesting a role switch”Want to swap?”
Ending the session”Let’s leave an async follow-up for the rest.”
Handling disagreement”Let’s flag this and bring it to standup.”

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

Розширення вашого словника: Навігація нюансів в дискусіях з парного програмування

Парне програмування є фантастичною технікою - сприяє співпраці, покращує якість коду і обміну знаннями. Однак, ефективне спілкування не тільки про технічні аспекти; це сильно залежить від точного англійського словника і розуміння тонкої фразування. Для розробників, чия перша мова не є англійською, це може бути особливо складним. Це не просто перекладання ваших ідей буквально; вам потрібно зрозуміти * контекстне * значення таких слів, як « рефакторизація », « крайовий випадок » або « міцний ». Погляньмо, як удосконалювати ваше спілкування навколо звичайних сценаріїв парного програмування.

Однією з найчастіших перешкод є надання конструктивного зворотнього зв’язку під час перегляду коду. Замість того, щоб сказати щось нечітке, наприклад, “Це не добре”, що може відчуватися відверто і нецікаво, вам потрібно бути конкретним. Кращий підхід буде: «Я помітив, що цей розділ може отримати користь від деяких переробок. Зараз логіка обробки введення користувача досить складна; можливо, ми могли б розбити її на менші, більш керовані функції, щоб поліпшити читабельність і підтримку — особливо, якщо розглядати потенційні крайні випадки. ” Ця фраза чітко визначає проблему (складність), пропонує рішення (розбиття логіки) і надає обґрунтування (читабельність, підтримка, * крайні випадки * обробки). Аналогічно, не слід просто говорити « Виправте цю помилку ». Замість цього спробуйте: « Я бачу проблему, коли обчислення не дають правильного результату для від’ ємних чисел. Чи можете ви розслідувати, чи є певна ситуація, яка потребує уваги?” Ключовим є використання точної мови і пояснення * чому * щось потрібно змінити.

Слабкі розмови часто вимагають швидкого, чіткого спілкування під час парних сеансів. Уявіть такий сценарій: «Драйвер: Я застряг у тому, як реалізувати поток автентифікації. Навігатор: Чи можете ви описати, що ви намагалися до цього часу? Можливо, ми можемо почати з опису кроків, які потрібно виконати — реєстрація користувача, входження, керування сеансами?» Це демонструє спільний підхід і зосередженість на розв’ язанні проблеми, а не на звинуваченні або просто на запиті рішення. Використання фраз на кшталт «Давайте пройдемося через…» або «Які ключові роздуми тут?» заохочує активну участь і пояснює очікування.

Нарешті, при описі вашої роботи в описі Pull Request (PR), докладно описуйте що ви робите і чому. Не просто скажіть «Реалізована функція X». Замість цього: «Ця PR вводить функціональність «Профіль користувача», що дозволяє користувачам оновлювати свою контактну інформацію. Я реалізував логіку перевірки даних за допомогою JavaScript, щоб забезпечити цілісність даних і додав тести модулів, щоб охопити ключові сценарії. Цей проект відповідає стандартам нашої команди щодо модульності і дотримується найкращих практик щодо обробки помилок. Чим більше контексту ви надасте, тим краще рецензенти зможуть зрозуміти вашу роботу і надати вам цінний зворотній зв’ язок.

# Example: Running a linter with ESLint (Node.js) – demonstrating a common code review comment

eslint . --ext .js,.jsx

Ця команда запустить ESLint на всіх файлах .js і .jsx у поточній теці, підкреслюючи потенційні проблеми і надаючи пропозиції щодо поліпшення. Це реальний приклад того, як можна обговорювати якість коду під час сеансу парного обговорення — вказуючи на конкретні проблеми і пропонуючи рішення, засновані на встановлених інструментах і практиках.

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

Про що ця стаття "Як обговорювати парне програмування англійською"?

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

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

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

Скільки часу займає читання "Як обговорювати парне програмування англійською"?

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