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

- Что еще за кодинг кака?

Image001

В один из недавних будней мы с коллегой Сашей Якимой (он же по совместительству аджайл коуч) забурились в один из киевских баров, уселись за барной стойкой и что? Правильно. Достали ноутбук, запустили Idea и начали исполнять coding kata. Когда-то в детстве я занимался примерно тем же, но в спортзале и кимоно, у меня даже пояс есть оранжевый. Вообще, ката – это такой себе паттерн-упражнение, которое нужно повторять и повторять, дабы достичь в нем совершенства, а затем уж применять в реальной жизни.

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

Идея следующая: необходимо запрограммировать, используя TDD, распознаватель сигнала SOS. На вход распознавалка получает набор сигналов Морзе, анализирует и отвечает – SOS это или нет. Мы же слегка усложнили задачу, оговорив, что в сигнале может быть одна неточность. То есть если истинный SOS выглядит ...---..., и где-то там в одном месте терпящий бедствие пассажир ошибся и отсигналил например ..----..., то мы считаем такой сигнал так же верным.

Ноутбук, Idea, java, 45 минут чистого времени (работали помидорами по 25 минут).

Image002

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

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

И в завершении

Image003