Accidental (or incidental) complexity is that complexity which arises in computer programs or the development process which is deemed not essential to the problem being solved. While essential complexity is inherent and unavoidable, accidental complexity is caused by a suboptimal approach to the problem's resolution.
While sometimes accidental complexity can be due to mistakes such as ineffective planning, or low priority placed on a project, random accidental complexity may occur as a side-effect of solving any given computer problem.
Accidental complexity is to be minimized in any good architecture, design, and implementation; excessive accidental complexity is an example of an anti-pattern.
|This computer science article is a stub. You can help Wikipedia by expanding it.|
|This computer programming–related article is a stub. You can help Wikipedia by expanding it.|