Legacy Code Hero

Approaching Legacy Code with a Test Driven Attitude

  Enroll in Course

The Problem

You have been trying to learn TDD, and it’s going pretty well, but your code looks horrible. It is really hard to test. Your design skills are lacking, and trying to let TDD drive the design without having design skills can lead to a very problematic, although testable, design of your code.


I believe that separating the learning about the core skills of Unit Testing, TDD, and Design should be separated so that the learner will not feel overwhelmed. This course is a complement to the Art of Unit Testing course I am teaching. This course is specifically dealing with legacy code refactoring skills, and assumes that you already know how to write unit tests.

Assumed: You already have some experience writing unit tests.

  1. Design for Testability
  2. Refactoring patterns on hard to test legacy code
  3. Writing tests against refactored code
  4. When it does and does not make sense to refactor
  5. We will also take a look at open source projects and try to see how we would refactor them.

Your Instructor

Roy Osherove
Roy Osherove

Roy Osherove is the author of

Frequently Asked Questions

When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After purchase, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Can I download the videos for offline viewing?

Get started now!