Time to combine two basic ideas: the idea of the coding dojo and the idea of design patterns as an essential element of development training.
For those of you who haven’t seen my previous posts on a coding dojo, the concept is that a karate dojo is a safe place to come and practice elemental skills in a supportive but corrective environment. The karate master presents problems and assists as each student practices and demonstrates their skills at solving the problem repeatedly. These “problems” to be solved repeatedly, formally, are the katas.
So, you come to a meeting once or twice a month to get together with other developers. You work in a pair. You get a problem statement and a set of unit tests to start. Your job: meet the needs of the app by getting the unit tests to pass.
One pair works on the projector.
I also believe that we are well served by practicing the basic design patterns. Things like strategy, facade, decorator, bridge, observer, and chain of responsibility. These basic structures are worth practicing. We improve our understanding of OO code simply by following the kata. Practice. Hone. Concentrate.
So, if we combine the two, perhaps that would be better. What if we create 10 kata for each of the basic design patterns and a couple of architectural patterns? Order them at random. Practice. Hone. Concentrate. Improve.
This idea could have some legs. Hmmmmm……