Coding Kata

kata

Ка́та (яп. 型 или 形) — формализованная последовательность движений, связанных принципами ведения поединка с воображаемым противником или группой противников. По сути, является квинтэссенцией техники конкретного стиля боевых искусств. ... Принцип изучения боевого искусства на основе ката состоит в том, что повторяя ката многие тысячи раз, практик боевого искусства приучает свое тело > к определенного рода движениям, выводя их на бессознательный уровень.

В своей книге "Clean coder" Дядя Боб (Rober C Martin) поделился с общественностью техникой "Coding Kata".

Дядя Боб советует проделывать 'Coding Kata' регулярно, по его мнению это поможет вам стать лучшим девелопером. Упражняться в Coding Kata необходимо ежедневно, укладываясь примерно в 30 минут. Для хорошей 'Coding Kata' нужно выбрать правильную задачу, задача не должна быть большой, также, она должна быть понятно описана.

Практика заключается в решении определенной задачи снова и снова, таким образом доводя процесс решения до совершенства. Также подключается мышечная память. И вообще, можно получить прозрение.

Некоторые люди утверждают что 'Coding Kata' это единственный способ понять суть и использовать TDD по настоящему. Например некий дядька (Programm Manager Lead в Microsoft кстати), с шапкой-уточкой, написал отличную статтью по этому поводу

Его схема такакая:

  • Хорошая задача
  • Ежедневное ее решение с помощью TDD (до 30 мин сутра)
  • Повторять всю эту радость на протяжении 2-х недель
  • Переход к другой задаче

Еще, вот товарищ рассуждает о том как Coding Kata сделает что то хорошее из вас.

Материалы для подбора задач:

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

Written on August 31, 2013