Science  People  Locations  Timeline
Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Home > Spaghetti code


 

A plate of spaghetti looks twisted and tangled, which is where the name for spaghetti code comes from.

Spaghetti code is a pejorative term for a computer program code with a complex and tangled control structure, especially one using many GOTOs, exceptions, threads, or other "unstructured" branching constructs.

It is named such because program flow tends to look like a bowl of spaghetti, i.e. twisted and tangled. Also called kangaroo code because such code has so many jumps in it.

Spaghetti code is an example of an anti-pattern.

Here's an actual example of Java spaghetti code taken from a production codebase:

if (aAguId == null || new Integer("0").equals(aAguId)) ...

The author could have just written:

if (aAguId == null || 0 == aAguId.intValue()) ...

which not only does the same thing but is easier to read, uses less memory and requires fewer instructions. True spaghetti code, of course, can get much more convoluted, but this simple example displays the fundamental spaghetti principles: make your code more convoluted and complex than it needs to be and make people think hard to understand it.

1 See also

2 References

This article was originally based on material from the Free On-line Dictionary of Computing, which is used under the GFDL.

3 External links

Programming Anti-patterns

Read more »

Non User