Code Katas


Uncle Bob says: Code Katas are a good thing. After reading his two books Clean Code and The Clean Coder I wanted to a play a bit around with them and with Test Driven Development (TDD), too.

The term Code Kata has been introduced by Dave Thomas, the co-author of the book The Pragmatic Programmer (that I am currently reading). In short, a Code Kata is a programming exercise which helps a programmer to hone their skills through practice and repetition. A Code Kata should be easily solvable and can be solved again and again, repeated until perfection. By doing that, the programmer learns to solve the problem better, every time they try.

I’ve came up with PHP-CodeKata, which implements some Code Katas in the PHP programming language. For TDD I’ve used the unit testing framework PHPUnit and I’ve also experimented with Behat, a Behaviour Driven Development (BDD) framework for the first time. Read the README file for the project for an overview of the implemented code katas. I may add more code katas in the future and I will also add a separate project with code katas for the C++ programming language.

I want to use this blog article to aggregate information about code katas around the WWW.

The article Why I Don’t Do Code Katas contains an opinion saying that Code Katas aren’t useful. In my opinion Code Katas are at least useful to learn a new programming language and should not just blindly repeated.

If you know of any Code Kata that isn’t already linked in this blog article, please add a short comment.