Legacy Code

Legacy Code

Code that hampers productivity and is dreaded by developers because:

  • There’s a lot of it
  • It’s written using old idioms or is based on an end-of-life framework
  • It has lots of Singletons
  • It has no tests
  • It’s written in such a way that adding tests to it is extremely hard
  • It can’t be changed in a safe way
  • You’re not allowed to just delete it
  • It contains business-critical logic that isn’t documented anywhere else
  • Some architect defends it for personal reasons
  • It’s just a Big Ball of Mud
  • It relies on huge amounts of state and exhibits a large degree of temporal coupling

Back to the vocabulary