Написать пост

Как ускорить свое обучение с помощью парного программирования

Аватарка пользователя Kirill Mokevnin

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

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

О том, что это такое и как правильно учиться с помощью этого инструмента, рассказал Кирилл Мокевнин, сооснователь онлайн-школы программирования Хекслет.

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

Парное программирование — это техника написания кода с “другом”. Один человек пишет код, а второй наблюдает за ним “со спины” или виртуально, если это удаленный формат. Наблюдающий смотрит на код и дает подсказки пишущему, а также указывает на ошибки, если их видит. Примерно каждые 20-30 минут пара меняется местами, тот, кто писал код, переходит в режим наблюдения, тот, кто наблюдал, начинает писать код.

Почему двое лучше, чем один?

При правильном использовании, парное программирование резко увеличивает эффективность кодинга. Как с точки зрения скорости так и качества кода. И вот почему:

  1. Скорость работы. Разработчики не отвлекаются на посторонние задачи, разговоры, кофебрейки и доводят ее до конца. Уровень прокрастинации падает практически до нуля, повышая производительность до максимума.
  2. Скорость отладки. Найти баг вдвоем намного проще и оперативнее, чем сделать это в одиночку. Там где один может не увидеть проблему, другой найдет ее за секунды.
  3. Качество кода. Человек за клавиатурой фокусируется на строчках которые пишет прямо сейчас, человек за спиной, скорее, видит картину в целом. Причем это происходит автоматически из-за разного формата работы. Это помогает сразу учитывать пограничные случаи и лучше проектировать код.
  4. Взаимное обучение. Парное программирование позволяет научиться всему: приемам программирования, эффективному использованию инструментария и т.д. Это лучший способ распространять знания в команде. И лучше всего работает в паре новичок-опытный.

В цифрах

В 1999 году в University of Utah Computer Science было проведено исследование о том, как парное программирование влияет на процесс и результат. Вот некоторые цифры оттуда:

  • Код пары содержал на 15% меньше дефектов, чем тот же код у одиночных разработчиков;
  • Время потраченное на разработку у пары на 15% меньше, чем у “одиночек”;
  • 95% опрошенных сказали, что были гораздо более уверены в получившемся решении, чем когда они работали в одиночку.

Как правильно проводить парное программирование для ускорения своего обучения?

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

Задача слишком легкая и понятная для обоих? Откажитесь от парного программирования – это не принесет вам пользы. Отказаться от идеи стоит и в случае, если задача слишком сложная и требует постоянного чтения документации/анализа.

Вот несколько правил, как наиболее эффективно использовать парное программирование для обучения:

  1. Пары должны меняться ролями каждые 20 минут;
  2. Пока вы пишете код, второй участник наблюдает, а не занимается своими делами (и наоборот!);
  3. Если вы никогда не пробовали парное программирование, ограничьтесь 1-2 часами кодинга. Парное программирование достаточно энергозатратно из-за сильного фокуса, поэтому с непривычки продержаться даже час будет сложно.

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

Чемпионаты по парному программированию

Еще один способ ускорить свое обучение с помощью парного программирования — участвовать в соревнованиях и чемпионатах.

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

Так, например, с 2012 по 2018 годы свой чемпионат проводил VK — VK Cups. Он существует и по сей день, но уже в измененном виде — теперь каждый соревнуется сам за себя.

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

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

Где найти себе пару?

Если вы учитесь в онлайн-школе или уже работаете, то все достаточно просто: скиньте в чат группы\рабочий чат этот текст и попробуйте поработать вместе с тем, кто откликнется.

Если вы учитесь самостоятельно или просто хотите попробовать парное программирование, то попробуйте найти себе пару в любом IT-коммьюнити. Например, в коммьюнити Хекслета отзывчивые участники, которые активно откликаются на подобные просьбы.

Ещё один вариант — поучаствовать в чемпионатах и конкурсах по спортивному программированию. Только будьте внимательнее, не все из них включают в себя возможность работать в парах. Можно приходить как со своим другом или коллегой, так и самостоятельно. Организаторы сами подберут вам “пару”.

Парное программирование — отличная практика, которую можно долго обсуждать в теории. Но понять и прочувствовать насколько она на самом деле эффективна можно только на практике.

Следите за новыми постами
Следите за новыми постами по любимым темам
3К открытий4К показов