Coding Katas



I read a very interesting article over on InfoQ about Coding Katas.
I then went and read the original articles by (Pragmatic) Dave Thomas

The term itself is derived from martial arts, where sequences of movements are repeated until they become second nature.

The idea for a programmer is that he sets out to build a self-contained project that is small and disposable. Once written, the project is binned and can be started again from scratch. If this seems like a pointless exercise you are correct - all exercise is pointless in the sense of getting something useful done. The purpose of exercise is to improve yourself. This is the same with the coding katas exercises.

This is something I know would benefit me. Although I’ve had a reasonable knowledge of .NET since I obtained the MCSD in 2004, creating new code in .NET has always taken a little more mental effort than it needed to. For years, writing VB6 and classic ASP was second nature, as the enterprise web application I work on in the day job is largely written in the older technologies.

Although there has now been a marked switch in emphasis at long last to .NET code at work, the job still involves a fair amount of bug fixing old code, slowing the time it takes for any new techniques to become instinctive.

So I need to work out some simple exercises to flex the following .NET muscles

  • Linq - there are lots of ways to use it, so practice practice practice!
  • MVC - vital for all new web UI
  • TDD - it’s still not instinctive to do it
  • Mocking - the techniques are still vague

Making the time is another problem altogether!