- Дорогая, я вечером задержусь, мы идем делать кодинг ката.
- Что еще за кодинг кака?
В один из недавних будней мы с коллегой Сашей Якимой (он же по совместительству аджайл коуч) забурились в один из киевских баров, уселись за барной стойкой и что? Правильно. Достали ноутбук, запустили Idea и начали исполнять coding kata. Когда-то в детстве я занимался примерно тем же, но в спортзале и кимоно, у меня даже пояс есть оранжевый. Вообще, ката – это такой себе паттерн-упражнение, которое нужно повторять и повторять, дабы достичь в нем совершенства, а затем уж применять в реальной жизни.
Идея ката-программирования хорошо обосновалась в мире разработки (детали можно почитать тут). Мы же не совсем исключительно программировали, у нас была задача запрограммировать и оттестировать законченый кусочек кода.
Идея следующая: необходимо запрограммировать, используя TDD, распознаватель сигнала SOS. На вход распознавалка получает набор сигналов Морзе, анализирует и отвечает – SOS это или нет. Мы же слегка усложнили задачу, оговорив, что в сигнале может быть одна неточность. То есть если истинный SOS выглядит ...---..., и где-то там в одном месте терпящий бедствие пассажир ошибся и отсигналил например ..----..., то мы считаем такой сигнал так же верным.
Ноутбук, Idea, java, 45 минут чистого времени (работали помидорами по 25 минут).
В конце концов юнит тесты были написаны, код распознавалки тоже. Мы даже поужинать параллельно успели. Сеанс парного программирования и еда – отличная обстановка для продуктивной работы.
Как-нибудь нужно попробовать повторить в лесу например, лишь бы погода позволила.
И в завершении




