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

Что я часто слышал, так это то, что на самом деле это не делается или не понимается правильно. Если вы спросите человека, который пишет код, занимается ли он парным программированием, многие на самом деле не решатся сначала подумать об этом, а затем сказать «да». Они часто ссылаются на просмотр кода вместе с другим человеком. Я часто слышал, как люди говорят, что они делают это, делясь своим экраном, затем они показывают, что они сделали, и кодируют, а другой человек просто слушает. Это не совсем парное программирование. Это может быть похожее различие между человеком, который идет пешком, чтобы добраться из пункта А в пункт Б, и другим человеком, спортсменом, выполняющим спринт на 500 метров. Конечно, они оба перемещаются между расстоянием, но то, как они это делают, имеет большие различия.

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

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

Так что в следующий раз, когда вы будете готовиться к собеседованию или искать способы улучшить свою работу, подумайте о том, чтобы немного изучить парное программирование и то, что оно может вам дать, прежде чем просто сказать: «О, да, мы все время работаем в паре». ».