Refactoring For Software Design Smells

Workshop Host: Ganesh Samarthyam

Software & Installation Pre-Requisites:

Many of the examples use Java 8 – so please install any version of Java 8.0 or later. You can download JDK 8 for different platforms here:



Awareness of design smells – indicators of common design problems – helps developers or software engineers understand mistakes made while designing and apply design principles for creating high-quality designs. This talk provides insights gained from performing refactoring in real-world projects to improve refactoring and reduce the time and costs of managing software projects.

The talk also presents insightful anecdotes and case studies drawn from the trenches of real-world projects. Bonus: A comprehensive listing of smell detection tools and refactoring tools (40!).

Learning Objectives:

  1. Why care about design principles, design quality, or design smells? *
  2. Refactoring as the primary means for repaying technical debt
  3.  Smells that violate abstraction, encapsulation, modularisation, or hierarchy
  4. Tools and techniques for refactoring

Software Needed for this Workshop: