Что такое «парное программирование»?

Как следует из названия, это техника, при которой два программиста парятся и занимаются программированием на одной рабочей станции. Удаленная работа набирает популярность, и теперь программисты могут соединять программы с противоположного конца света, используя редакторы кода, такие как Live Share от VS Code. При парном программировании один программист является водителем, который пишет код, а другой — навигатором, который контролирует, корректирует и направляет процесс. Лучше всего менять роли каждые 10–20 минут.

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

источник: википедия

Кто это для?

Он предназначен для ВСЕХ программистов. Если вы младший программист, ваши навыки кодирования будут улучшаться в геометрической прогрессии, если вы будете наблюдать за кодом более старшего программиста и подсказывать, как и почему подходить определенным образом. Для старшего программиста это отличный способ попрактиковаться и усовершенствовать свои навыки путем обучения.

Плюсы и минусы

Даже технологические гиганты продвигают технику парного программирования. Shopify Engineering Blog очень хорошо объясняет преимущества и недостатки парного программирования. Вот некоторые из моих любимых:

Преимущества

  • Помощь в построении команды
  • Уменьшить количество ошибок
  • Улучшение дизайна и качества программного обеспечения
  • Повысить эффективность
  • Улучшить обучение

Недостатки

  • Может привести к сценарию наблюдайте за мастером
  • Может внедрять и укреплять плохие практики
  • Может привести к отчуждению, если оба эксперта придерживаются одинакового подхода и им не хватает разнообразия во взглядах, или если проблема проста.

источник: Инженерный блог Shopify

Мой опыт парного программирования

В рамках программы буткемпа по веб-разработке в Lighthouse Labs в первые несколько недель у меня было несколько обязательных занятий по парному программированию. Каждая была довольно короткой 1-2-часовой сессией, важность которой я в то время не чувствовал. На самом деле, меня часто раздражало, что сеансы проходили в середине дня и мешали закончить тяжелую ежедневную работу.

Однако для недельного среднесрочного проекта с полным стеком у нашей группы была свобода разделить работу между собой по вертикали или по горизонтали или использовать метод парного программирования. Поскольку все члены команды все еще были новичками, мы выбрали парное программирование проекта, и этот опыт показал важность и преимущества.

Несмотря на то, что мы прошли через одни и те же учебные материалы в течение первых пяти недель программы, у каждого члена команды были свои сильные и слабые стороны в программировании. Как я объяснял выше в разделе «Для кого это?» раздел, члены, которые были более компетентны в конкретном языке (например, JavaScript, HTML, CSS), руководили и объясняли, как выполнить функциональность в приложении. Таким образом, это не только помогло с созданием команды, но и повысило эффективность и управление временем. С минимальной помощью наставников парное программирование проекта от начала до конца дало нам возможность отполировать наши ранее существовавшие знания, неоднократно практиковаться и резюмировать то, что мы узнали на буткемпе.

Что говорят другие

Вот несколько замечательных статей, определяющих, что такое парное программирование и как добиться от него наилучшего результата:

Парное программирование в реальности

*** НЕ ДЕЛАЙТЕ ЭТОГО ***