Accidental complexity

Accidental complexity

En Computación, el antipatrón de diseño Accidental complexity o Complejidad no indispensable describe la situación a la que se llega cuando en el desarrollo de una aplicación se selecciona un camino de complejidad mayor que la indispensable. En algunos casos, la complejidad es inherente al problema, pero también ocurre que ésta se introduce por desconocimiento o por problemas de planificación. Una situación como ésta, si no es reconocida, puede motivar la cancelación del proyecto.[1]

Muchas veces la complejidad innecesaria viene de despreciar las soluciones más directas por considerarlas demasiado obvias. En otras ocasiones viene de la creación de bibliotecas por grupos que no las utilizan, de manera que no perciben los costos innecesariamente introducidos en ellas.

Otro ejemplo de complejidad accidental durante el proceso de desarrollo, ocurre cuando se decide programar a nivel de código de máquina una parte de un proyecto cuya velocidad (mayor ganancia al hacer esto), no afecta sensiblemente la velocidad del proyecto en su conjunto. En este caso se introduce en el proyecto la complejidad innecesaria de deber mantener código en varios lenguajes, y sobre todo una parte del código en lenguaje de bajo nivel.

Para evitar este patrón, se puede incluir en el diseño, consideraciones razonadas de costo (tiempo/espacio) esperado, de manera que si estos costos son superados, se entienda si es en el diseño o en la realización donde está el problema.

Referencias

  1. Holt, John (2004). UML for systems engineering: watching the wheels. IET. pp. 8. ISBN 9780863413544. 

Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • Accidental complexity — is complexity that arises in computer programs or their development process (computer programming) which is non essential to the problem to be solved. While essential complexity is inherent and unavoidable, accidental complexity is caused by the… …   Wikipedia

  • Accidental complexity — En Computación, el antipatrón de diseño Accidental complexity o Complejidad no indispensable describe la situación a la que se llega cuando en el desarrollo de una aplicación se selecciona un camino de complejidad mayor que la indispensable. En… …   Enciclopedia Universal

  • Essential complexity — refers to a situation where all reasonable solutions to a problem must be complicated (and possibly confusing) because the simple solutions would not adequately solve the problem. It stands in contrast to accidental complexity, which arises… …   Wikipedia

  • NP (complexity) — Diagram of complexity classes provided that P ≠ NP. The existence of problems outside both P and NP complete in this case was established by Ladner.[1] In computational complexity theory, NP is one of the most fundamental complexity classes. The… …   Wikipedia

  • No Silver Bullet — No Silver Bullet  Essence and Accidents of Software Engineering is a widely discussed paper on software engineering written by Fred Brooks in 1986.[1] Brooks argues that there is no single development, in either technology or management… …   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

  • Серебряной пули нет — Фредерик Брукс, автор статьи «Серебряной пули нет» «Серебряной пули нет» (англ. «No Silver Bullet»)  широко обсуждавшаяся статья Фредерика Брукса об инженерии …   Википедия

  • Coding by exception — is an anti pattern where software quickly degrades in performance and maintainability because it evolves by having special case functionality added piecemeal. This typically happens because an existing piece of software is extended to cover… …   Wikipedia

  • Anti-Pattern — (deutsch: Antimuster) bezeichnet in der Softwareentwicklung einen häufig anzutreffenden schlechten Lösungsansatz für ein bestimmtes Problem. Es bildet damit das Gegenstück zu den Mustern (Entwurfsmuster, Analysemuster, Architekturmuster...),… …   Deutsch Wikipedia

  • 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

Compartir el artículo y extractos

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