Роли пары для написания кода

Если вы работаете в инженерной сфере, вы наверняка слышали, как этот термин часто встречается. Особенно среди программистов. Если вы программист и никогда раньше не слышали этот термин, вам не о чем беспокоиться. Но чем раньше вы познакомитесь с концепцией, тем лучше. В этой статье я отвечу на вопрос, «что такое парное программирование?», общие шаги и роли пар.

Давайте сначала разберемся, что означает термин «парное программирование».

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

Проще говоря, парное программирование - это гибкий метод, когда два программиста работают над проблемой на одной рабочей станции.

Требования к рабочей станции:

  1. Один компьютер
  2. Две клавиатуры
  3. Две мыши
  4. Один монитор или два зеркальных монитора

Написание кода - это еще не все, но понимание проблемы.

Искусство решения проблем

Как указывает методика Ричарда Фейнмана, думать вслух и объяснять кому-то проблему или ее решение - это самый простой способ решить проблему. Чем проще объяснение, тем лучше понимание.

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

В общем, процесс разработки программного обеспечения побуждает программистов задавать как можно больше вопросов относительно проблемы. Когда, почему, как, где и т. Д. Можно предположить некоторые вещи - например, те ограничения, которые необходимо установить, и, в конечном итоге, решение должно быть полностью доказанным, которое проходит большинство крайних случаев. Решение должно обеспечивать простую понятность, расширяемость и долговременную ремонтопригодность. Чтобы написать тесты на успех, неудачи и важные крайние случаи, нужно знать, что это за случаи, которые можно выяснить, задав хорошие вопросы.

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

Техника парного программирования предполагает, что два человека работают над одним блоком кода, один управляет процессом и обеспечивает высокоуровневый обзор шагов с высоты птичьего полета, называемый навигатором. Когда партнер набирает код и заботится о семантике, называемой D river.

Включенные шаги:

  1. Как только проблема будет полностью понята, пары разделят ее на гораздо более мелкие независимые задачи, которые могут быть выполнены за относительно небольшой промежуток времени.
  2. Пары должны иметь базовое понимание стандартных практик и соглашений, адаптированных в кодовой базе, которые должны быть записаны в документе. Список стандартных практик, которым я следую, приведен здесь.
  3. Пары должны договориться о том, когда делать перерыв. По возможности установите таймер перед запуском задачи. Самая популярная техника, Помидор, идеально подходит для того, чтобы пары не утомились из-за длительной интенсивной работы.
  4. Если разработка через тестирование - обычная практика на вашем рабочем месте, роли могут использовать метод пинг-понг для переключения ролей после каждого сеанса Pomodoro.

Теперь давайте разберемся в ролях пары.

Роли навигатора:

Штурман отвечает за «тактический» образ мышления. Навигатор придумывает и делится мыслями и мнениями, задавая хорошие вопросы о мыслительном процессе водителя и обосновании кода.

Навигатор - это наблюдатель, который может сразу же уловить и указать на любые синтаксические ошибки и опечатки. Навигаторы также должны держать друг друга в курсе. Чтобы не заблудиться в кроличьей норе, так как водитель находится в глубоко сфокусированном режиме, нужно беспокоиться о мелочах. Дополнительная пара глаз для проверки реальности всегда полезна.

Как рецензент в режиме реального времени, навигатор помогает снизить сложность и усилия, необходимые для рецензирования в процессе. Любые потенциальные ошибки могут быть обнаружены раньше, и код может быть немедленно изменен, в результате чего улучшится качество кода.

Навигатор делает заметки и участвует в решении проблем высокого уровня, говоря вслух и размышляя об задействованном алгоритме.

Роли водителя:

Роль драйвера кажется простой, но кодирование - это не просто набор текста на клавиатуре. Написание кода требует глубокого, неделимого и целенаправленного мышления. Не говоря уже о том, что эта работа довольно требовательна и требует большой силы ума для решения сложных проблем в форме кода. Таким образом, процесс состоит из нескольких этапов, но задача водителя - сосредоточиться на мелкой задаче.

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

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

Я хочу покинуть вас, сказав:

Когда дело доходит до программирования, пара больше двух.