Refactoring Methods and Techniques

Refactoring Methods and Techniques


3 Days


Refactoring is a philosophy and a set of methods to change the internal structure of code without changing any of its external behavior. Refactoring leads to enhanced internal stability through reduced opportunities for defects, increased performance and significantly better design.

This fully interactive and hands on course lets participants look at their old code and coding techniques again through new eyes. Novices and experienced developers alike will be taken through the concepts and practices of refactoring, including getting their hands dirty with the most popular and practical tools and techniques. Participants will learn the essentials of cleaning up all aspects of their code, from names to classes to their inheritance structure. Participants will be asked and encouraged to bring their own code in to apply these techniques in a mentored environment.

This course is available in Java and c#.Net. Customized VB.Net and C++ courses may be arranged.


  • A look at some ‘smelly’ code…looks familiar? (Oh yes we did!)
  • Introduction to refactoring
  • The refactoring cycle
  • Getting our hands dirty…our first refactorings
  • Introduction to automated refactoring tools
  • Some principles to live by and die for
  • What’s design got to do with this?
  • Dead and duplicated code
  • Refactoring names (Oh yes you can!)
  • The war against comments (Yes, we’re super serious)
  • Refactoring conditional logic
  • Refactoring methods and functions
  • Refactoring error-handling
  • Refactoring classes
  • Refactoring class hierarchies
  • Refactoring objects
  • Refactoring data
  • Introduction to refactoring databases
  • Namespaces and assemblies

Who should take this course?

This introductory course is suitable for architects, developers or other individuals with an object oriented development background who would like to learn the fundamentals of refactoring techniques to clean up code, speed it up and reduce defects.