Refactoring Strategies: Beyond the Basics

Track: Workshop
Skill Level: Intermediate
Room: Room 113
Time Slot: Mon 2/24, 2:30 PM
Tags: java , unit testing , refactoring , agile
Presentation Link
Abstract

Refactoring is a fundamental practice for an agile developer. Each refactoring is a small and isolated activity, but the value comes when you perform a sequence of refactorings to effect larger changes. This workshop will guide participants through hands-on exercises designed to teach three essential skills to become good at refactoring:

  1. Identifying what needs refactoring: what makes code smell, confusing, or complex?
  2. Identifying the end goal: what are the design options and which one will yield the best results?
  3. Tracing a strategy to get the code from 1 to 2.

For the workshop, developers should bring their laptop with a basic working Java environment (JDK 1.6+, Eclipse or IntelliJ), have some knowledge about automated testing (JUnit) and refactorings, and optionally spend some time getting familiar with the code base we will use in the workshop here.

This workshop has been presented at Agile Brazil 2013, as well as internally at ThoughtWorks.

The workshop is co-presented with Mariana Bravo.

Danilo Sato

Danilo Sato is a software developer for more than 11 years, and has been working as a Lead Consultant at ThoughtWorks for 5 years in various roles, such as developer, architect, tech lead, coach, trainer, and devops. He is the author of the book “Devops na Prática” and is an experienced speaker having presented talks and workshops in conferences such as QConSP 2011-2013, RubyConfBr 2012-2013, AgileBrazil 2010-2012, Agile 2008-2009, and XP 2009-2010. He is also an organizer for AgileBrazil and founder of the Coding Dojo @ SP.

Danilo Sato is co-presenting with Mariana Bravo.