Skip to Content
Refactoring Legacy Code
on-demand course

Refactoring Legacy Code

with Dave Farley
August 2023
Intermediate
58m
English
O'Reilly Media, Inc.
Closed Captioning available in German, English, Spanish, French, Japanese, Korean, Portuguese (Portugal, Brazil), Chinese (Simplified), Chinese (Traditional)

Overview

Ideas like TDD, BDD and Continuous Delivery are great, but how do you introduce them to legacy systems? Practically, hands-on, how do you change legacy-code to make it testable?

When Kent Beck wrote about TDD he introduced a profoundly valuable engineering practice to software development. In his book “ Working Effectively with Legacy Code” Michael Feathers defines a legacy system as “a system without automated tests”. So how can we take advantage of the benefits of TDD when our code is the wrong shape, when it was developed without automated tests?

In this 3-part Video Course. Dave demonstrates his preferred “Four Steps to Refactoring, Approval Testing and De-cluttering”, applies them to some very nasty code: making it testable and discovering some surprising things along the way.

What you’ll learn and how you can apply it
  • How to change legacy-code safely, in small steps, to make it testable.
  • Using Approval testing to ensure changes are safe.
  • Understand a four-step process to guide refactoring in even complex code.
This course is for you because…
  • You're a programmer interested in learning how to refactor legacy code so that it is testable.
  • You're looking to introduce TDD, BDD and Continuous Delivery to legacy systems.
  • You want to become more proficient at working with legacy code and improving your code base.

Prerequisites:

  • Writing code in one language
  • Basic software developer skills
  • Some knowledge of TDD and testing is helpful
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Watch now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Refactoring: Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code

Martin Fowler
Refactoring to Patterns

Refactoring to Patterns

Joshua Kerievsky

Publisher Resources

ISBN: 0636920890980