This workshop will provide Eclipse Java projects as source examples for the Refactoring exercises. Some exercises will be done in pairs so bring your Laptop with your favorite IDE or Eclipse.
Refactoring is the process of changing software without altering its external behavior. Refactoring software to make it maintainable and extendable has become a recognized best practice and has been incorporated into many Agile practices such as Scrum, TDD and XP. Refactoring improves the structure of the design of a system to allow for later extensions or to make maintenance easier. This course teaches attendees how to recognize that code needs to be refactored (code smells) and the steps for common refactorings including the refactorings provided by tools such as those in Eclipse and the Refactoring Browser. It is important to refactor software in a disciplined way to minimize disruptions and to allow the system to safely evolve. Java examples will be shown that illustrate how and when to refactor,