Accidental complexity

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

In Computing, the design anti-pattern Accidental complexity or Non-essential complexity describes the situation reached when an application development path is selected. more than the necessary complexity. In some cases, complexity is inherent to the problem, but it also happens that it is introduced due to ignorance or planning problems. A situation like this, if not recognized, can lead to the cancellation of the project.

Many times, unnecessary complexity comes from disregarding the most direct solutions, considering them too obvious. At other times it comes from the creation of libraries by groups that do not use them, so that they do not perceive the costs unnecessarily introduced into them.

Another example of accidental complexity during the development process occurs when it is decided to program at the machine code level a part of a project whose speed (greater gain by doing this) does not appreciably affect the speed of the project as a whole. In this case, the unnecessary complexity of having to maintain code in various languages, and especially a part of the code in low-level language, is introduced into the project.

To avoid this pattern, reasoned considerations of expected cost (time/space) can be included in the design, so that if these costs are exceeded, it is understood whether the problem is in the design or in the implementation.

Contenido relacionado

Formal language

In mathematics, logic, and computer science, a formal language is a language whose symbols are primitive and the rules for joining those symbols are formally...

File extension

In computing, the term file extension is a string appended to a file name, usually predicted by a period. Its main function is to distinguish the content of...

Web page

A web page, electronic page, digital page or cyberpage is a complex digital document, that can integrate and/or contain text, sound, video, programs, links...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save