Michael Feather’s defines it as “Code without tests”.

Legacy code is not really about old code.
Old code with tests is maintainable, modifiable, readable, it is a testament that the previous team/developer(s) had concern, concern for the craft and the future maintainers of the code and the future of the organization.

spectactor: what is your team doing?

tech lead: ah, they are writing legacy code

Knowing just this solid definition of what legacy code is gave a direction to my way of coding, and the way set the direction of our software projects. It should be about quality, it could be achieved by automated tests. Test, test, test, acceptance tests, unit tests, integration tests, api tests, the Testing Triangle, all of my projects will have these to ensure we won’t be writing legacy code anymore.

Pin It on Pinterest

Share This