Legacy code

Legacy code

Legacy code is source code that relates to a no-longer supported or manufactured operating system or other computer technology. The term can also mean code inserted into modern software for the purpose of maintaining an older or previously supported feature — for example supporting a serial interface even though many modern systems don't have a serial port. It may also be in the form of supporting older file formats that may have been encoding in non-ASCII characters, such as EBCDIC.

In practice, most source code has some dependency on the platform for which it is designed—unless a programmer uses a platform-independent programming language like Java, it is hard to write a large, useful program that is totally independent of its environment. When the manufacturer upgrades or supersedes the platform, the code will no longer work without changes, and becomes legacy code. A large part of the task of a software engineer is to continually alter code to prevent this.

While the term usually refers to source code, it can occasionally be heard applied to executable code that no longer runs on a modern version of a system, or requires a compatibility layer to do so. An example would be a classic Macintosh application which will not run natively on Mac OS X, but runs inside the Classic environment, or a Win16 application running on Windows XP using the Windows on Windows feature in XP.

Modern interpretations

More recently, the software engineering community has developed other interpretations for the term "legacy code". Among the most prevalent are "source code inherited from someone else" and "source code inherited from an older version of the software". Michael Feathers' "Working Effectively with Legacy Code" (ISBN 0-13-117705-2) introduced a definition of "legacy code" as "code without tests", which reflects the perspective of legacy code being difficult to work with in part due to a lack of automated regression tests. He also defined Characterization Tests to start putting "legacy code" under test.

ee also

* Legacy system


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • legacy code — noun Source code that relates to a no longer supported or manufactured operating system or other computer technology. See Also: legacy system …   Wiktionary

  • Legacy system — A legacy system is an old method, technology, computer system, or application program that continues to be used, typically because it still functions for the users needs, even though newer technology or more efficient methods of performing a task …   Wikipedia

  • Legacy port — A legacy port is a port or connector on a PC that is considered fully or partially obsolete. Some manufacturers, particularly in laptops, remove the legacy ports in lieu of modern ports such as USB ports. The modern ports usually provide much of… …   Wikipedia

  • Code refactoring — Refactor redirects here. For the use of refactor on Wikipedia, see Wikipedia:Refactoring talk pages. Code refactoring is disciplined technique for restructuring an existing body of code, altering its internal structure without changing its… …   Wikipedia

  • Legacy Interactive — is a game developer and publisher founded in 1998. Located in Hollywood, California, it develops casual games. The executive team is headed by founder and video game industry veteran Ariella Lehrer. To date, Legacy has created 3 new game genres,… …   Wikipedia

  • Legacy Of Kain: Soul Reaver — Legacy of Kain Soul Reaver Éditeur Eidos Interactive Développeur Crystal Dynamics Date de sortie 1999, 2000 Genre Action aventure Mode de …   Wikipédia en Français

  • Legacy Of Kain - Soul Reaver — Legacy of Kain: Soul Reaver Legacy of Kain Soul Reaver Éditeur Eidos Interactive Développeur Crystal Dynamics Date de sortie 1999, 2000 Genre Action aventure Mode de …   Wikipédia en Français

  • Legacy of kain: soul reaver — Legacy of Kain Soul Reaver Éditeur Eidos Interactive Développeur Crystal Dynamics Date de sortie 1999, 2000 Genre Action aventure Mode de …   Wikipédia en Français

  • Legacy of Kain: Soul Reaver — Legacy of Kain Soul Reaver Éditeur Eidos Interactive Développeur Crystal Dynamics Date de sortie 1999, 2000 Genre Médiéval Fantastique Mode de jeu …   Wikipédia en Français

  • Code of Vengeance — Title card for the 1985 TV movie Also known as Dalton and Dalton s Code of Vengeance Genre …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”