Katas for Practicing Refactoring

Problem

I've tried to do the various TDD katas found laying around on the web (not dissimilar to those found here: http://codekata.pragprog.com/) and found I have a couple issues with most of them. First it has to do with what I perceive a kata to be.

A kata is a choreographed set of movements that are practiced ad-tedium so that they come almost instinctively, one after another. They are very narrow and focused. There is no real problem solving to be found in them.

In completing some of the various katas I've found on the net, I've noticed they are more complex than I'd like, but also, in the end, I don't really know that I've done it right. It's extremely easy for me to get off track. I also never know why I'm doing it. What am I learning? Am I learning?

It's important to note that I'm not saying the TDD katas out there are broken, if they work for you then I don't recommend you stop them although you may still want to give these a try. I'm really just saying that they are broken to me.

Read the rest of this post »