Refactoring and Clean Code

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,

Hands on exercises in Java are used to enable attendees to gain proficiency in spotting poorly structured code and then making appropriate refactorings. Advanced Refactorings will also be examined including Refactoring to Patterns.

Tutorial Objectives

  • Motivation for refactoring: when and where and why do it?
  • How refactoring supports agile object-oriented development
  • An overview of common “code smells”—signs that code needs to be refactored
  • Avoiding cut-copy-paste-modify reuse
  • Coding best practices: public methods, using inheritance properly, method size/level of detail, and intentional name
  • A review of the most important refactorings in Martin Fowler’s Refactoring book
  • Learning how to use automated refactorings such as those in Eclipse and the Refactoring Browser
  • Showing how refactoring meshes with emerging lightweight agile development processes
  • Showing how refactoring and testing can facilitate safe, graceful code evolution and rehabilitation

This is recommended for object-oriented designers and software developers; specifically those who are creating object-oriented systems and frameworks. To complete the course exercises, attendees should understand object-oriented programming concepts and have experience coding in Java or other OO languages. Understanding of Design Patters is useful.

Additional notes

The workshop has been cancelled.

Joseph W. Yoder will show a part of workshop as a tutorial during the conference.

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.  

Workshop by

Workshop details

  • 15 October 2014, 9:00-18:00
  • Presented in English
  • 849PLN / EUR200 NETTO
  • 10 - 20 attendees
  • 18 spots left
  • Registration has ended