A while ago, I’ve been working on a very large codebase that
consisted of a few million lines of code. Large systems are usually
a big mess and this one was no exception. Since this is a rather
common problem in software engineering, I thought the internet would
be littered with stories about this topic. There is a lot of talk
about software carpentry, while software maintenance is rarely
debated. Either large programs are being maintained by dark matter
developers or nobody thinks that writing stories about large systems
are interesting enough.
In the past I’ve encountered a few of those large monsters and they
seem to have a lot in common. This article will try to present some
of the problems and tricks that I am using when I have to deal with
them. Hopefully this will inspire others to write similar posts and
share tips from their own bag of tricks.