Working Effectively with Legacy Code

Available in Java, C++ or C#


Test Driven Development and Refactoring are powerful tools.  With them you can add new code to systems and make existing code more maintainable.  However, refactoring code without having tests in place can be hazardous.  This class presents a collection of dependency breaking and test writing techniques that can be used to get existing code safely under test for refactoring.  These techniques can be used in conjunction with Test Driven Development to breathe new life into large existing code bases. This class is structured as a set of lectures, discussions, and hands-on exercises.



By the end of this course, you will:

  • Understand what legacy code is
  • Understand how to break dependencies in legacy code
  • Learn a variety of techniques for breaking external dependencies
  • Learn a variety of techniques for breaking internal dependencies
  • Understand when to employ each of the techniques
  • Learn a variety of strategies for code refactoring
  • Learn how to identify change points
  • Learn how to find an inflection point
  • Understand the concept of test coverage for inflection points
  • Understand how to write effective tests for legacy code



Here is a brief course outline for the course:

  • Day 1
  • Introduction / Testing as a Programmer’s tool
  • Seam identification
  • Breaking Dependencies – Sensing and Separation
  • Breaking Manifest Dependencies
  • Breaking Hidden Dependencies
  • Characterization Testing
  • Day 2
  • Strategies for Getting Large Methods under Test
  • Refactoring Architecture for Testability
  • Larger scale testing with Fitnesse



  • Experience with a programming language



  • 2 days



  • $1250
  • Price includes course notes and workbooks


Registration and Start Dates

To request an onsite or private course or for more information about registration and start dates, call 1-847-249-4209 or click here to email


Register now button


Onsite Requirements


Register Today!

Call 1-847-249-4209

Register by email...

Request a custom course...

©2006 Object Mentor Inc | Privacy Statement | Terms of Use