Spaghetticode
Spaghetticode ist ein abwertender Begriff für programmierten Code, der unnötig verschachtelt ist, und insbesondere für Code, der häufige Verzweigungen von einem Codeabschnitt zum anderen verwendet. Spaghetticode ist manchmal das Ergebnis von älterem Code, der im Laufe der Jahre mehrfach geändert wurde.
Ein weiterer Teil der Spaghetti-Analogie ist die Art und Weise, wie eine Änderung an einem Teil des Codes unvorhersehbare Auswirkungen auf den Rest des Programms haben kann, genauso wie das Ziehen an einem Spaghettistrang andere Spaghettistränge in einer Weise beeinflussen kann, die nicht vorhersehbar ist. Techniken wie das Verstecken von Daten werden oft verwendet, um ähnliche Probleme bei der Codierung zu vermeiden.
Bei prozeduralen Programmiersprachen wie COBOL und FORTRAN kommt es auf das Geschick und die Sorgfalt des Programmierers an, um nicht mit Spaghetticode zu enden. Eine Untergruppe der prozeduralen Programmierung, die sogenannte strukturierte Programmierung, die eine Struktur innerhalb des Codes erzwingt, wurde entwickelt, um solche Probleme zu umgehen.
Spaghetticode oder jede Art von schwer verständlichem Code wird manchmal als Write-only Code bezeichnet. Andere Variationen der Pastatheorie der Programmierung umfassen Lasagnecode, der mit der strukturierten Programmierung verglichen wird, und Raviolicode, der bevorzugt mit der objektorientierten Programmierung (OOP) verglichen wird.