Testing, Design, and Refactoring - RailsConf Tutorial

Everyone seems to be on the TDD/BDD bandwagon these days.

We have gotten very good at the first two phases of the Red/Green/Refactor cycle. But in our push toward releasing new code and functionality, sometimes the Refactor phase gets the short end of the stick. Sadly, without refactoring, our code base can quickly become a nightmare of highly coupled, highly redundant code.

This half day lab will focus on improving our refactoring skills by actually practicing the process of refactoring. We will supply a working code base (complete with tests). The problem is that the code is poorly written and rife with code smells. During the lab, the participants will learn to identify various code smells, and how to transform ugly code into beautiful code by applying standard refactorings.

The lab will start off with a discussion of the code smells and basic refactorings. The rest of the time will be a self paced, open ended lab time. We will wrap up at the end with a review and summary of the process. Participants should bring their laptops.