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

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

Парное программирование — это форма совместной работы, которая позволяет нескольким людям планировать работу, писать код и устранять ошибки в одном и том же файле проекта в режиме реального времени. Думайте об этом как о документе Google, который можно было использовать еще в университете для групповой исследовательской работы. В настоящее время существует 2 популярных способа сопряжения программы

Путь водителя-навигатора
Разбивая задачу на 2 отдельные роли, «водитель» будет работать с клавиатурой и кодом. Большая часть работы по набору текста и внедрению кода выполняется приводом. Напротив, «навигатор» отвечает за работу, обеспечивающую соответствие кодов планированию проекта. Навигатор должен направлять водителя в правильном направлении, сохраняя код без ошибок, обеспечивая сухость и логическую точность кодов водителя.

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

Приложения парного программирования

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

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

Что можно, а что нельзя?

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

Do’s

Планируйте и делитесь стратегиями до начала

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

Выберите правильные инструменты для работы

Лично я предпочитаю парное программирование с помощью функции Live Code в Visual Studio. Это не только позволяет пользователям совместно писать код в режиме реального времени с индикаторами, показывающими, на чем они сосредоточены, но также позволяет использовать общие инструменты, такие как терминалы и серверы. Эта функция меняет правила игры, поскольку программистам разрешен доступ к файлам без обязательной синхронизации локальных папок для всех участников парного программирования. Если у хоста есть файл, каждый может присоединиться и внести свой вклад в проект.

Понять потребности других программистов и ПЕРЕКЛЮЧАТЬСЯ!

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

Нельзя

Переусердствовать и не делать перерывов

Математически верно, что если 1 программист может написать 6 часов кода, то 4 программиста могут работать 24 часа, но парное программирование основано на сотрудничестве. Долгие часы видеозвонка во время сеанса парного программирования могут вызвать усталость и снижение производительности. Делайте разумные и подходящие перерывы на протяжении всего занятия, позволяя участникам размяться и выпить кофе. Потому что у каждого программиста разные рабочие привычки. Поэтому их терпимость к тому, как долго они могут оставаться на вызове Zoom для парного программирования, различается. Продолжительность сеанса также следует соответствующим образом скорректировать в зависимости от предпочтений и терпимости каждого участника.

Не доминируйте над другими программистами

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

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

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

Личный опыт: обучение и продуктивность

В моем учебном лагере по программированию были представлены различные проекты парного программирования, позволяющие одному учащемуся подключаться без других студентов и знакомиться со средой парного программирования. С точки зрения обучения и производительности, парное программирование позволяет программистам лучше понимать, что и как кодировать. Во время моего сеанса парного программирования я заметил, что делаю меньше синтаксических ошибок и пишу меньше непреднамеренных ошибок. Наличие дополнительной пары глаз, просматривающих мой код, когда я его пишу, было чрезвычайно полезным для выявления нелогичного кода, который впоследствии потенциально может стать трудно идентифицируемой ошибкой. Совместная среда всегда может повысить производительность, поскольку она обеспечивает 2 разных режима мышления. Мало того, что обмен знаниями между программистами может компенсировать недостатки друг друга, он также дает прекрасную возможность учиться, позволяя понять, что им нужно улучшить и как они могут лучше работать с другими командными игроками.

Личный опыт: опыт парного программирования

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

Будущие учащиеся: создавать пары или не создавать пары

Мой опыт показал, что парное программирование — хорошая практика для определенной задачи. Производительность заметно возросла во время некоторых моих сеансов кодирования. Однако можно знать о том факте, что не все задачи следует решать с помощью парного программирования. Итак, когда мы должны начать объединяться в код? Хорошим признаком для начала объединения в пары является то, что программисты запутались или неопытны в решении задачи. Возможность связаться сразу же — одно из преимуществ парного программирования. Попросите кого-нибудь более опытного составить пару и провести вас по коду. Парное программирование также может предотвратить скучную утомительную задачу. Объединитесь с друзьями! Я отлично провел время в паре со своими одноклассниками во время моего учебного лагеря, потому что мы могли одновременно разговаривать и программировать. Кто-то может спорить, повлияет ли это на эффективность, но производительность может возрасти, когда они кодируют со своими близкими друзьями и коллегами.

Ссылка