So, having just accompanied my blog on its existential quest I have decided to start writing down rambling thoughts just for the process of solidifying them in my mind - and not worry about their quality as prose.

Further to that, I have something I want to solidify.

I’ve been working in the offices of Session Digital today. Every Friday, Marcello runs a “code workshop” for an hour at the end of the day, which I chose to attend. The purpose of this workshop is to encourage Continuous Improvement techniques to help coders improve the code they write.

His philosophy for this is based around the Japanese word Kata, which means “form” and as far as I can tell from the very brief introduction I was given is about building good technique as habit through repetition, so you don’t even need to think about it.

The repetition in question is repetition of performing coding while conforming to the rules of Test- (or Behaviour-) Driven Development and of Simple Design, while also working in pairs. We are given a programming problem to solve, and then asked to solve it over and over again, trying to refine our “Form/Kata”.

Rules of TDD (if these don’t make much sense, go read more about TDD):

  • You may not write code except to make a failing test pass
  • You may only write a test until you have a failing state
  • You may only write code until you have made the test pass

Rules of Simple Design:

  • All test must pass before you may refactor/simplify code
  • There should be no code duplication
  • Code should be as expressive as possible
  • Code should be as simple as possible (eliminate complexity)

That is all for now.