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

Парное программирование — это практика кодирования, в которой два программиста используют один и тот же экран. Это можно сделать с помощью таких платформ, как VSCode Live Share, или сидя рядом друг с другом. Один из программистов обозначен как «водитель», а другой «навигатор». Короче говоря, «водитель» — это человек, который печатает код, а «навигатор» — это разработчик, который указывает, что следует набирать. Эти роли часто меняются местами, чтобы дать каждому разработчику возможность написать код. Они просматривают, что делает код и что должно произойти дальше.

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

Что мне помогло?

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

Что другие говорят о парном программировании?

Для того, чтобы эффективно совмещать программы, есть некоторые факторы, которые были взаимно приняты разработчиками. К ним относятся:

  1. Важность постоянного вербального общения.Это гарантирует, что оба человека находятся на одной волне и знают о мыслительном процессе друг друга.
  2. Равное время, затрачиваемое на кодирование: оба человека вовлечены в решение проблемы. Если один человек более опытен и занимает место водителя, это может отвлечь другого человека и свести на нет цель парного программирования.
  3. Использование среды разработки, в которой удобно работать обоим пользователям.Из-за COVID_19 многие стали использовать онлайн-платформы, такие как VSCode Live Share, которые позволяют обоим пользователям вводить один и тот же файл.

С учетом этих факторов. Программисты заметили больше возможностей для изучения собственного кода и повышение производительности. Часто привлечение второй пары глаз для просмотра вашего кода может исправить ошибку, над которой вы работали долгое время. Меньше шансов на ошибки и баги. В Университете штата Юта было проведено исследование, посвященное созданию кода с помощью парного программирования. Они смогли заметить на 15% меньше дефектов, когда люди программировали в паре. Этот процесс также повышает качество кода и повышает моральный дух команды. 96% людей, которые программируют в паре на работе и постоянно практикуют это, говорят, что им больше нравится эта работа по сравнению с индивидуальным программированием.

Какие еще области применения парного программирования?

Точно так же студенты сообщают о более высокой уверенности в правильности программных решений по сравнению с отдельными программистами.

Что можно и чего нельзя делать в парном программировании?

Do’s:

  • Подумайте вслух. "Навигатор" должен направлять "водителя" по таким вопросам, как: с чего начать, какую функцию следует создать первой, при необходимости выполнить поиск по синтаксису, обратить внимание на детали кода, такие как отсутствующие запятые, квадратные скобки и т. д.
  • Почаще меняйте партнеров! Это позволяет обоим разработчикам контролировать процесс написания и руководство. Людям должно быть удобно просить клавиатуру, если один человек пишет код. Между ролями должен быть естественный поток вперед и назад.
  • Учитывайте опыт каждого. В некоторых случаях у вас может быть больше опыта в одной области, чем в другой, и вы можете использовать эту возможность для обучения. Также могут быть случаи, когда другой человек более опытен, и вы можете использовать эту возможность, чтобы учиться у него.

Не:

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

Напишите о своем собственном опыте использования, обсуждая положительные и отрицательные стороны

В парном программировании есть много положительных и отрицательных моментов, с которыми я столкнулся.

Положительные стороны

  • Разговор с другим разработчиком(иногда многочасовое кодирование может стать одиноким)
  • Изучение изящных сочетаний клавиш, которые вы раньше не использовали
  • Получение шанса учиться или учить
  • Попрактиковаться в роли «водителя» и «штурмана»
  • Использование таких платформ, как Visual Studio Code Live Share, которые обычно не требуются при индивидуальном кодировании.
  • Лично я смог выполнить задачи намного быстрее, когда парное программирование
  • Если все сделано правильно, это приносит пользу каждому человеку и ускоряет работу.

Отрицательные

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

Рекомендации для будущих учащихся

Если вы никогда не пробовали парное программирование, обязательно найдите партнера по программированию и попробуйте! Это умение учиться у кого-то другого, а также учить кого-то другого. Попробуйте заметить, сколько времени вам потребуется, чтобы выполнить задачу самостоятельно, по сравнению с парной программой. Надеюсь, это дает некоторое представление о том, чего ожидать при парном программировании. Удачи! :)