Jump to content

Lava flow (programming)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 200.71.234.146 (talk) at 12:52, 29 November 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

You must add a |reason= parameter to this Cleanup template – replace it with {{Cleanup|November 2006|reason=<Fill reason here>}}, or remove the Cleanup template.

In computer programming jargon, lava flow is a problem in which computer code, usually written under less than optimal conditions, is put into production and then built on when still in a developmental state. This causes the original code to solidify (as many additional components now depend on it), turning the snapshot developmental state into a fixed final state that can no longer be modified.

Often, putting the system into production results in a need to maintain backward compatibility with the original broken design. For example, see NSAPI.

Lava flows are often exacerbated by the relatively high turnover at proprietary software companies. As workers on the project leave and take their knowledge with them, it becomes impossible for the remaining workers to determine which parts of the system are actually useful. As deadline pressure continues, the long-postponed cleanup never comes, and the complexity of the system continues to increase.

Lava flow is considered an anti-pattern.