In IT, it is common to think of Legacy as something technologically obsolete, for example, code that was once written by past developers. Legacy can be defined as either the previous creators of the code or those who worked on it more than a dozen years ago.
The age of writing is not the only parameter by which an object is defined as Legacy. There are other variants of origin as well. For example, to ensure compatibility with previous versions of the system or if the code is not provided with unit tests and is not confirmed by documentation.
Regardless of the origin and purpose of the code, if it is not updated, used, or maintained for a significant period of time, it can be safely considered Legacy.
The presence of Legacy is determined by several parameters. In different variations, all or one of them can be detected.
- The code shows itself perfectly at the moment or the updates are downloaded through modern technology.
- The code was not rewritten or deleted on purpose. This is possible to keep previous versions of the product up to date.
Technology is advancing at a high rate of speed. Over time, any new code will be reclassified as Legacy. At the same time there will be more of them in large projects.
The main problem with obsolete codes is that they are difficult to maintain. Age is not an indicator of bad code elements. Windows 10 is known to contain elements that are twenty years old. Therefore, there is no need to rewrite Legacy. Especially if there is little information about it from previous developers.