• Português
  • 简体中文
  • 繁體中文
  • Deutsch
  • English
  • Español
  • Français
  • 日本語
  • Latviešu
  • Lietuvių
  • Русский

Submitted Conference Content

Full name

Luca Minudel

Job Coach and Trainer
email luca [dot] minudel [at] gmail [dot] com
Skypeid luka1969
Phone number +44 770 799 6708
Company ThoughtWorks London
City (Country) UK
Time 2h00
Type of Conference Workshop / 20 attendees
Level Sensitized

Refactoring legacy code driven by tests


Luca Minudel: Extreme Programmer and Lean-Agile Coach, experienced in Scrum, XP and Lean-Agile. Has worked with large and legacy code-bases, complex domains, enterprise level applications. Working in professional software development since 1989. With Agile practices since 2002. During 2006-2009 has contributed to advance the adoption of Agile practices in a leading F1 Racing Team. In a unique context characterized by high levels of pressure, uncertainty, interdependency and rapid unpredictable changes. Spent the last 4 years in Stockholm and now is Coach and Trainer in ThoughtWorks London.


During the 2 hours Coding Dojo attendees will be assigned 4 coding challenges. Coding opportunities will be provided in C#, Java and Ruby. A version in JavaScript and Python will be provided. Attendees will face the challenge of refactoring existing code in order to make it testable and to write unit tests. After coding, we will compare the initial legacy code and the code after refactoring and with unit tests. We will higlight the changes required to make the code testable and relatied improvement in the design. This coding dojo is based on the paper and related presentation 'TDD with Mock Objects: Design Principles and Emergent Properties' [1] and the coding exercises are included in 'The Coding Dojo Handbook' by Emili Bache [2].


Laptop with up'n'running development environment (C#, Java or Ruby. Or JavaScript and Python) and the framework for unit testing. Fluency in one of the 4 languages supported for the coding dojo. Previous experience in Unit Testing. Interest in unit testing and refactoring of legacy code.

Benefits for the attendees

- See in practice the relation between unit testing and code that is easier to change, extend, evolve. - Experience the most common refactorings used for testing and refactoring legacy code. - Make a direct connection between some of the abstract, generic, broad design principles definition and good OO Programming. - Have fun coding and learn while doing.

Go to the submission page!