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

На этой неделе на курсе _nology мы начали создавать наш групповой проект. Я не буду раскрывать слишком много, но я могу сказать вам, что мы создаем приложение для управления проектами с точки зрения разработки, ориентированной на бизнес (или «BDD»).

В рамках этого проекта мы учимся работать как команда разработчиков в компании; нам назначают билеты, которые сообщают нам, в чем заключается наша индивидуальная задача, и мы также много занимаемся «парным программированием».

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

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

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

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

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