location_city Bengaluru schedule Aug 27th 11:00 - 11:45 AM IST place Sigma Hall 2 people 2 Interested

Refactoring is a series of small steps, each of which changes the program’s internal structure without changing its external behaviour. Refactoring, as a tool, to automate behaviour-preserving transformations to source code are not only very popular in agile development environments, but have been widely established as a cornerstone of the daily software development process, regardless of the methodology being used. Most major development environments such as Eclipse offer a set of powerful refactoring to substantially increase development productivity. 

In this live demo, I’ll show 

  • the real value of refactoring,
  • how we practice it safely,
  • when and why we refactor,
  • the power of refactoring tools and
  • when we avoid refactoring.

I’ll be using two real-world examples of refactoring and sharing what I’ve learned about this important practice of the last 15 years.


Outline/Structure of the Demonstration

Code that is difficult to understand, hard to modify and challenging to extend is hazardous to developers, users and organisations. Refactoring is one of our greatest defence against such code. In this live demo:

  • 45 mins per demo
    • Review and understand the code at hand - 5 mins
    • Discuss the code smells (design flaws) with the current design - 10 mins
    • Explore various refactoring strategies we might deploy to safely refactor code - 10 mins
    • Live demo of actual refactoring - 15 mins
    • Recap of before-after state and the refactoring strategy used - 5 mins

Learning Outcome

  • Learn to refactor safely
  • Improve designs via refactoring
  • Practice using refactoring tools effectively
  • Identify typical code smells & transform them into cleaner designs
  • Understand when refactoring to, towards or away from a pattern makes sense
  • Experience various refactoring strategies

Target Audience

Developers interested in learning various automated refactoring techniques in Eclipse JDT



schedule Submitted 6 years ago