Back to proposals-2013
Title: Coding Dojo Challenge-SOLID design principles
Proposer: emily_bache
Type: Dojo
Duration: 90 minutes
Description:
In this hands-on session we will be looking at a couple of pieces
of code which are slightly awkward to write tests for, because they
violate SOLID design principles. Before we start I'll remind you of
the theory of these principles (Single Responsibility, Open-Closed,
Liskov Substitution, Dependency Inversion, Interface Segregation),
then it's up to you to look at the code, find the violations, and get
it under test.
We'll be stepping into the Coding Dojo together,
which is a safe place designed for learning, where it doesn’t matter
if we make mistakes. In fact all the code will be thrown away
afterwards. You should feel free to experiment, try out different
testing approaches, and get feedback from your peers. The last part of
the session is the retrospective, when we discuss what we've learnt,
and how we can apply our new skills in our daily production code.
The code problems we'll be looking at were designed by Luca Minudel,
and I have them available on my github account,
(see https://github.com/emilybache/TDDwithMockObjectsAndDesignPrinciples). The
code is available in various programming languages, including Java,
C#, Javascript and Python. I hope people will be working in several
languages, since the way SOLID principles are applied in the exercises
differs depending on the nature of the programming language, and it
makes for good discussions. You should bring a laptop with your
favourite coding environment or IDE installed, or plan to pair with
someone who has.
Roger: Yes, subject to constraints over number of participants
Asti - agreed