Accidental complexity is complexity that arises in computer programs or their development process which is non-essential to the problem to be solved. While essential complexity is inherent and unavoidable, accidental complexity is caused by the approach chosen to solve the problem. While sometimes accidental complexity can be due to mistakes such as ineffective planning, or low priority placed on a project, some accidental complexity always occurs as the side effect of solving any problem.
| Property | Value |
| dbpprop:abstract
|
- Accidental complexity is complexity that arises in computer programs or their development process which is non-essential to the problem to be solved. While essential complexity is inherent and unavoidable, accidental complexity is caused by the approach chosen to solve the problem. While sometimes accidental complexity can be due to mistakes such as ineffective planning, or low priority placed on a project, some accidental complexity always occurs as the side effect of solving any problem. For example, the complexity caused by out of memory errors is an accidental complexity to most programs that occurs because one decided to use a computer to solve the problem. While accidental complexity is to be minimized in any good architecture, design, and implementation, excessive accidental complexity is an example of an anti-pattern.
- 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 fácilmente hacer cancelar un proyecto. 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 librerías 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.
- La complessità involontaria in informatica è un problema evitabile relativo al processo di sviluppo del software. Di contro, la complessità inerente è inevitabile. Mentre certe complessità sono inerenti al problema, altre sono dovute ad errori di comprensione del problema o a una pianificazione errata dello sviluppo. Molti prototipi risulteranno essere inutilmente complessi a causa del fatto che i programmatori li usano per capire il progetto che stanno affrontando. La complessità involontaria è un esempio di anti-pattern.
|
| dbpprop:hasPhotoCollection
| |
| rdf:type
| |
| rdfs:comment
|
- Accidental complexity is complexity that arises in computer programs or their development process which is non-essential to the problem to be solved. While essential complexity is inherent and unavoidable, accidental complexity is caused by the approach chosen to solve the problem. While sometimes accidental complexity can be due to mistakes such as ineffective planning, or low priority placed on a project, some accidental complexity always occurs as the side effect of solving any problem.
- 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 fácilmente hacer cancelar un proyecto.
- La complessità involontaria in informatica è un problema evitabile relativo al processo di sviluppo del software. Di contro, la complessità inerente è inevitabile. Mentre certe complessità sono inerenti al problema, altre sono dovute ad errori di comprensione del problema o a una pianificazione errata dello sviluppo. Molti prototipi risulteranno essere inutilmente complessi a causa del fatto che i programmatori li usano per capire il progetto che stanno affrontando.
|
| rdfs:label
|
- Accidental complexity
- Accidental complexity
- Complessità involontaria
|
| owl:sameAs
| |
| skos:subject
| |
| foaf:page
| |
| is owl:sameAs
of | |