Think Then Code by Dominic Umbeer

Definition of legacy code

2022-02-11 - Software Engineering

Recently I have been writing various job descriptions for DNSimple. One of the jobs requires working with multiple applications that have existed and been developed for several years. The goal is to systematically enhance the applications to meet current and future needs (is hopefully the aspiration of every software developer).

We wanted to express this focus in the description, and the phrase "legacy code" kept coming up. In the discussions with the team members, it became apparent that we all had a different definition of the term in mind - so I started looking for definitions:

Source code that relates to a no-longer supported or manufactured operating system or other computer technology.

Legacy code is the antithesis of clean code which is easy to understand, maintain, and adapt.

Legacy code is simply code without tests.

Legacy code is valuable code you're afraid to change.

Code is legacy code as soon as it's written.

The code that’s getting you all the money

Unfortunately, I could not find a consistent definition. I have decided that I will be more careful with the term to avoid misunderstanding.