Wednesday, 24. February 2016
First Law of Software Archaeology
Do you know that? You have to maintain some old programs and you are wondering what the hell is that piece of code doing. Why does it work? And where is the architecture of that damn software system you should adapt for the future?

Welcome to the world of software archaeology, also known as legacy code. The first law of software archaeology from Mitch Rosenberg (see Wikipedia) gives you good feeling about the trouble in digging in old rotten code:
Everything that is there is there for a reason, and there are 3 possible reasons:
  1. It used to need to be there but no longer does
  2. It never needed to be there and the person that wrote the code had no clue
  3. It still needs to be there and YOU have no clue
The corollary to this "law" is that, until you know which was the reason, you should not modify the code (or data).
And if you would like to learn some ancient language of the beginning of the computer stone age watch this video:

... comment