О чем это? Сейчас трудно найти программиста, который не знал бы, что такое ТДД или рефакторинг. Трудно найти такого, который еще и применял бы эти практики в жизни. Мне, например, повезло и я ощутил полезность всего спектра так называемых «инженерных практик» в реальной разработке. Многие ребята не могут похвастаться таким везением. Естественно, что не попробовав применить, например, ТДД на практике, сложно сделать какой-нибудь вывод о его полезности.
Конечно же есть масса тренингов по инженерным практикам. Но проблема в том, что практические задания на подобных мероприятиях довольно простые. На них мы можем только отработать базовые навыки. К тому же приходится давать довольно много теории, рассматривать различныые варианты решения задачи и подводить слушателей к правильным теоретическим выводам. Не хватает практического подтверждения (или опровержения :)) правильности сделанных выводов.
Решение этой проблемы пришло само собой: Tetris Coding dojo
Вообще Coding dojo — отличное и веселое мероприятие. Мы (я и Саша Баглай) подумали, что это подходящий формат для того, чтобы попрактиковаться в применении своих мозгов навыков в инженерных практиках. Мы одолжили идею coding dojo и сделали свой фреймворк.
За основу взяли известную всем игру — тетрис. Будем учить компьютер играть в тетрис! Мало того, мы еще будем соревноваться в том, кто круче это сделает 🙂
Думаю, что лучше один раз увидеть, чем написать 100500 слов описания.
Пробное включение. Недавно мы с Сашей попробовали сами написать код управления фигурками. Это мероприятие выбило нас из жизни часа на 4 :). В результате пофиксили несколько багов во фреймворке. Я же научился расставлять «палочки» и «квадратики», сделал несколько небольших рефакторингов и окончательно убедился, что я тестозависим :).
Код тетриса лежит на гитхабе, написан на java. Запускается одной командой (mvn jetty:run). Чуть позже напишу подробную инструкцию (если не поленюсь:)). Велкам с коментами, пожеланиями и участием.