Lava flow (programming)

Lava flow (programming)

In computer programming jargon, lava flow is a problem in which computer code written under sub-optimal conditions, is put into production and added to while still in a developmental state.

From the [http://perldesignpatterns.com/?LavaFlow Perl Design Wiki] : Lava Flow is "when code ... spews forth and becomes permanent, it becomes an architectural feature of the archaeological variety. Things are built atop the structure without question and without hope of changing what is beneath them. The existing code is seen as an historical curiosity."

Often, putting the system into production results in a need to maintain backward compatibility (as many additional components now depend on it) with the original, incomplete design.

Lava flows are often exacerbated by changes in the development team working on a project. As workers cycle in and out of the project, knowledge of the purpose of aspects of the system can be lost, and rather than clean up these pieces, they are worked around, increasing the complexity and mess of the system.

Lava flow is considered an anti-pattern, a commonly encountered phenomenon leading to poor design.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Lava — flow redirects here. For the programming anti pattern, see Lava flow (programming). For other uses, see Lava (disambiguation) …   Wikipedia

  • List of programming languages by category — Programming language lists Alphabetical Categorical Chronological Generational This is a list of programming languages grouped by category. Some languages are listed in multiple categories. Contents …   Wikipedia

  • List of programming languages — Programming language lists Alphabetical Categorical Chronological Generational The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in… …   Wikipedia

  • Visual programming language — A Visual programming language (VPL) is any programming language that lets users specify programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial… …   Wikipedia

  • Multi-paradigm programming language — A multi paradigm programming language is a programming language that supports more than one programming paradigm. As Leda designer Tim Budd holds it: The idea of a multiparadigm language is to provide a framework in which programmers can work in… …   Wikipedia

  • Anti-pattern — For the book, see AntiPatterns. In software engineering, an anti pattern (or antipattern) is a pattern that may be commonly used but is ineffective and/or counterproductive in practice.[1][2] The term was coined in 1995 by Andrew Koenig,[3]… …   Wikipedia

  • AA — For the Wikipedia editing policies, see Wikipedia:AA. AA may refer to: Contents 1 AA 1.1 Organizations and businesses …   Wikipedia

  • Iceland — Icelander /uys lan deuhr, leuhn deuhr/, n. /uys leuhnd/, n. 1. a large island in the N Atlantic between Greenland and Scandinavia. 39,698 sq. mi. (102,820 sq. km). 2. a republic including this island and several smaller islands: formerly Danish;… …   Universalium

  • Antipatrón de diseño — Saltar a navegación, búsqueda Un antipatrón de diseño es un patrón de diseño que invariablemente conduce a una mala solución para un problema. Al documentarse los antipatrones, además de los patrones de diseño, se dan argumentos a los diseñadores …   Wikipedia Español

  • Minnesota — This article is about the U.S. state of Minnesota. For the river, see Minnesota River. For other uses, see Minnesota (disambiguation). State of Minnesota …   Wikipedia

Share the article and excerpts

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