Ahogy a zenészeknek, úgy a programozóknak is gyakorlásra van szükségük, hogy minél könnyedebben tudjanak feladatokat megoldani. Erre szolgálnak a Katák. A Kata a harcművészetben ismert formagyakorlat, amelyben a gyakorló elképzelt ellenféllel dolgozik. A gyakorlatok folyamatos ismétlése segít memorizálni a helyes mozgást.

A programozásban ez gyakran előforduló problémák megoldásának gyakorlását jelenti. A probléma megoldását megfejelhetjük azzal, hogy nem csak a megoldást implementáljuk, hanem a hozzá tartozó, a teljes kódot lefedő Unit tesztet is. Kipróbálhatjuk, hogy milyen ugyanazt a kódot TDD vagy BDD stílusban megírni. Optimalizálhatjuk, hogy minél rövidebb, minél clean-ebb legyen.

Ilyen Kata a FizzBuzz:
A program 1-től 100-ig írja ki a számokat. Ha a szám osztható hárommal, akkor írja ki a szám helyett, hogy Fizz, ha osztható öttel, akkor Buzz, ha mind a kettővel osztható, akkor FizzBuzz.

Sok sikert az implementáláshoz 🙂

További feladatok itt találhatóak:
http://cyber-dojo.org/
http://codingdojo.org/cgi-bin/index.pl?KataCatalogue

A Katán kívül még két gyakorlati formában lehet ténykedni:

Wasa

Páros gyakorlat. Az egyik programozó ír egy egységtesztet, a másik megpróbálja teljesíteni.

Randori

Egy teremben kivetítő előtt több ember vesz részt a gyakorlaton.
Az első ember felír egy tesztmetódust. A következő ember – sorba vagy önkéntes alapon – megírja hozzá a metódust, amely teljesíti a teszt követelményeit.
Ezek után aki a metódust megírta, ír egy újabb tesztet, amihez a következő ember írja meg a metódust, amely teljesíti a teszt kívánságait.

Ahol ezeket a gyakorlatokat végzik, Coding dojo-nak nevezik.