User Tools

Site Tools


2013:coding_dojo_challenge-solid_design_principles

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

2013/coding_dojo_challenge-solid_design_principles.txt · Last modified: 2016/06/11 14:05 by 127.0.0.1