Spaghetti code is a
pejorative phrase for
source code that has a complex and tangled
control structure, especially one using many
GOTO statements, exceptions, threads, or other "
unstructured"
branching constructs. It is named such because program flow is conceptually like a bowl of spaghetti, i.e. twisted and tangled. Spaghetti code can be caused by several factors, such as continuous modifications by several people over a long life cycle.
Structured programming greatly decreases the incidence of spaghetti code.