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

Парное программирование состоит из двух программистов, совместно использующих одну рабочую станцию ​​(один экран, клавиатура и мышь в паре). Программиста за клавиатурой обычно называют «драйвером», другого, также активно участвующего в задаче программирования, но сосредоточенного больше на общем направлении, называют «навигатором»; ожидается, что программисты меняются ролями примерно каждые несколько минут.

Общие ловушки

  • оба программиста должны активно заниматься задачей в течение парного сеанса, в противном случае нельзя ожидать никакой выгоды
  • Простое, но часто выдвигаемое возражение состоит в том, что объединение в пары «удваивает затраты»; это заблуждение, основанное на отождествлении программирования с набором текста - однако следует понимать, что это наихудший результат плохо применяемого спаривания
  • по крайней мере, ожидается, что драйвер и, возможно, оба программиста будут постоянно комментировать; парное программирование также является «программированием вслух» - если водитель молчит, должен вмешаться навигатор.
  • парное программирование нельзя плодотворно навязывать людям, особенно если мешают проблемы в отношениях, в том числе самые обыденные (например, личная гигиена); решите их в первую очередь!

Уровни навыков

Как было сказано выше, одной из основных проблем, препятствующих эффективному спариванию, является пассивность. При одновременном использовании с разработкой на основе тестов один вариант, называемый программирование для пинг-понга, поощряет более частое переключение ролей: один программист пишет неудачный модульный тест, затем передает клавиатуру другому, который пишет соответствующий код, а затем переходит к на новый тест. Этот вариант может быть использован исключительно в педагогических целях или уже опытными программистами как игровой вариант.

  • Новичок:
  • возможность участвовать в качестве навигатора, в частности, надлежащим образом вмешиваться
  • возможность участвовать в качестве водителя, в частности, объяснять код при его написании
  • Средний
  • может сказать подходящий момент, чтобы отказаться от клавиатуры и поменяться ролями
  • может указать подходящий момент, чтобы «украсть» клавиатуру и поменяться ролями
  • Передовой
  • возможность «зайти», когда другая пара работает над задачей, и плавно взять на себя роль навигатора

Ожидаемые выгоды

  • повышенное качество кода: «программирование вслух» приводит к более четкой артикуляции сложностей и скрытых деталей в задачах кодирования, снижая риск ошибки или захода в тупик
  • лучшее распространение знаний среди команды, в частности, когда разработчик, незнакомый с компонентом, объединяется с тем, кто знает его намного лучше
  • лучшая передача навыков, поскольку младшие разработчики перенимают микротехники или более широкие навыки у более опытных членов команды
  • значительное сокращение усилий по координации, поскольку для координации требуется N / 2 пары вместо N отдельных разработчиков
  • повышенная устойчивость пары к прерываниям по сравнению с индивидуальным разработчиком: когда один член пары должен выполнить внешнюю подсказку, другой может оставаться сосредоточенным на задаче и может помочь в восстановлении внимания впоследствии

Я и мои друзья, такие как Сугата, Шован, Акаш, - хорошие пары для меня, мне действительно удается разработать алгоритм или реализовать алгоритм. Это отличный способ улучшить качество кода и ускорить разработку.

Так почему вы ждете, чтобы попробовать?