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

Когда-то в 2019 году воскресным днем ​​я почувствовал себя обязанным попробовать что-то новое. Я решил вытащить элемент из журнала - и научиться делать видеоигру. Он слишком долго находился в моем бэклоге, и я почувствовал, что сейчас хорошее время, чтобы попытаться создать его с моими мальчиками - в возрасте 7 и 9 лет. Я подумал, что было бы круто провести эксперимент по парному программированию с детьми. Поэтому я выбрал игру для экспериментов - игру в стиле Flappy Bird с использованием Unity Engine.

Учебник находится на сайте Unity: https://learn.unity.com/tutorial/live-session-making-a-flappy-bird-style-game

Фаза создания пары 1 (уточнение) - «Нервное чувство»

Мы начнем вместе с главы 2, поскольку глава 1 посвящена настройке; загрузка среды, загрузка ресурсов и импорт базового проекта.

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

Этап подключения 2 (разработка) - «В восторге от того, как Navigator обнаруживает проблему».

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

Мой код:

if (! isDead) {// делаем что-нибудь

Код курса:

if (isDead == false) {// что-то делать

Я уже вижу значение в наблюдателе / ​​навигаторе - обнаружение дефектов - хотя в этом случае это было ложное срабатывание.

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

Фаза сопряжения 3 (QA) - «Ощущение признания», поскольку контроль качества действует

Перенесемся в конец основных элементов руководства, и мы начнем тестировать (играть) в игру. Наша птица летает, хотя ей еще не нужно перемещаться по столбцам, однако при сбое игра не говорит «Игра окончена». Мой всегда полезный навигатор определяет это, говоря: «Папа, в твоей игре нет надписи« Игра окончена »».

Вместе мы вернемся к этой главе, отладим, исправим и протестируем изменения. Теперь игра говорит «Игра окончена», когда птица падает.

Думаю, на этом я остановлюсь и подумаю над уроками ленивого воскресенья.

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