Coding Dojo (кодинг додзё) — это встреча, на которой программисты (а теперь все чаще и тестировщики) вместе бьются над какой-нибудь задачей. Помимо фана, разработчики занимаются тем, что принято называть Deliberate Practice — регулярная практика, целью которой является постоянное повторение какого-то упражнения с целью повышения навыка. Именно поэтому и появилось название Dojo, потому что
Додзё — это место, где мы дисциплинируем и совершенствуем себя, чтобы стать лучше.
Ну а под катом можно прочитать об истории появления, основные принципы и многое другое.
Родоначальником этого подхода является Dave Thomas, являющийся автором многих книг, в том числе и книги Pragmatic Programmer, являющейся одной из ключевых в образовании разработчика. Изначально Дейв придумал то, что называется coding kata и посвятил этому отдельный сайт. Итак, что такое coding kata.
Как провести хорошее практическое упражнение? Вам нужно время без перерывов и простая задача, которую вы хотите решить. Вы можете заниматься ее столько раз, сколько будет нужно, не боясь совершить ошибку. Каждый раз вы должны делать обзор того, что делаете, чтобы понять, как можно улучшиться. Не должно быть никакого внешнего давления, поэтому очень сложно заниматься практикой в рабочей обстановке. И самое главное, практику можно считать удавшейся, если закончив ее вы вышли с новыми знаниями.
Таким образом Code Kata это попытка добавить элемент практики в мир разработки. Ката — это упражнение в карате, в рамках которого вы повторяете движения много, много раз, стараясь их улучшить. Для Code Kata все то же самое. Каждая — это короткое упражнение (от 30 до 60 минут). Некоторые включают программирование, некоторые требуют решения задач без кода. И у тех и у тех нет одного верного ответа.
Ката бывает двух типов: Prepared Kata Randori Kata. Подробно о каждом формате.
Prepared Kata
- Ведущий показывает как решить задачу с 0, используя TDD и BabySteps
- Каждый шаг должен быть понятен каждому
- Участники начинают практиковаться и прерываются только если что-то непонятно в определенном шаге
Randori Kata
- Задача решается парой (пилот и штурман)
- Участвуют все участники.
- У пары есть небольшой промежуток времени времени на работу (5 или 7 минут), во время которого они работают с помощью TDD и BabySteps
- В конце временного перида водитель уходит в зал, штурман становится пилотом, а кто-то из зала становится штурманом
Собственно встреча, где проходит упражнения в ката и называются Coding Dojo. На текущий момент такие встречи проводятся для изучения подходов (например, то же TDD), библиотек (Selenium 2), решения программистких задач и так далее. Встречу можно проводить и в онлайн формате, для этого еще один известный товарищ Johannes Brodwall запустил специальный сайт CyberDojo. Кстати, у него же есть и подробная инструкция, как такие встречи проводить.
Так как Иоганн пока не планирует делать русификацию своего проекта, то я с этой целью поднял копию проекта на Amazon AWS, поэтому адрес пока что некрасивый. В ближайшую неделю я планирую перевести все тексты. Есть так же и страница на сайте codecrafting.pro, которая так же в ближайшее время будет заверстана, чтобы все было видно.
Если у вас есть идеи или желание такую встречу провести — пишите в комментах, мы постараемся ее провести силами нашего сообщества.
Автор: mythmaker