Archive for June 2014

Legacy Code is Good Stuff

There are a number of definitions people use, and I’ll give you mine here. Perhaps this is less a definition and more how I think about legacy code.

Legacy code is code that is doing some real work.  It exists because it is bringing value.  We work on it because we want the code to keep bringing value.

That is, any code that is in use is legacy code. We inherited it from yesterday.  Someone else might have written it, or we might have inherited from our self.  Regardless, it is meaningful to us because someone needs to use the functionality provided by the code.

I often hear people disparaging Legacy code.  When the code is bad, it can be hard to keep from complaining. I don’t. I honor the code, and the developer who wrote the code.  It is bringing value, and that in itself is a tremendous achievement.  Regardless of how good or bad it is, they (or I) got it to work well enough to be of use.

The developers(s) who created the code worked under imperfect conditions.