Back to proposals-2013
Title: Coding Dojo Challenge-Refactoring
Proposer: emily_bache
Type: Dojo
Duration: 90 minutes
Description:
In this hands-on session we will be looking at a rather smelly piece
of code which helpfully has a fairly comprehensive suite of automated
tests. Refactoring is one of the key skills of Test-Driven
Development, and this is your chance to really practice it. The idea
is not to rewrite the code from scratch, but rather, by taking small
refactoring steps, gradually transform the code into a paragon of
readability and elegance.
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
refactoring approaches, and get feedback from your peers. The great
thing about this Kata is that since the tests are very good and very
quick to run, they will catch every little refactoring mistake you
make. You should experience how programming is supposed to be -
smooth, calm, and always minutes away from committable code. 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 kata we'll be looking at is “Tennis”, and the starting code
is available on my github account,
(see https://github.com/emilybache/Refactoring-Katas/Tennis). The
code is available in various programming languages, including Java,
C++, Python. You should bring a laptop with your favourite
coding environment or IDE installed, or plan to pair with someone who has.
Roger: much the same comment as for her other proposal (“Coding Dojo Challenge-SOLID design principles”)