Presented by Matteo Vaccari and Antonio Carpentieri

Abstract:

Learn how to write code like Lego bricks, that can be assembled in various way to obtain complex behaviour.  Learn what the Open-Closed Principle is, why it's so important for making code easy to change, and how to use it. This is a programming lab, so you're expected to code!  You'll also learn what Uncle Bob does not say about the Bowling Kata.

Format and length:

90 mins coding dojo in randori.

Intended audience and prerequisites:

Developers with some experience of TDD.  We will do our exercise in Java, but C# developers should be able to participate easily.

Objectives of the session:

The key idea is that it's not enough to write readable code; we need to write code that's modifiable. One way to make code easy to modify is to see it as an assemblage of simpler pieces. This exercise leads developers to contruct code where this assemblage is explicit, in one place. The session succeeds when the participants get a AHA moment about how DSL, readable code, the OCP, dependency inversion, and all this good stuff clicks together.

Benefits, for the participants and the presenters:

for the participants:

  • They will become more effective in their TDD practice. They may learn, or remember, an ideal of clarity to aim for when coding.

for the presenters:

  • They wish to be astonished by participant's solutions. 
  • They also wish to learn if this format is good enough for becoming a regular tool in the arsenal, or is too contrived. 
  • They also wish to find new example problems to try, that will lead to the discovery of different patterns (more on that later.)