Il codice spaghetti è un termine dispregiativo per la programmazione di computer che è inutilmente contorta, e in particolare il codice di programmazione che utilizza frequenti ramificazioni da una sezione di codice a un'altra. Il codice degli spaghetti a volte esiste come risultato di un codice precedente modificato più volte nel corso degli anni.
Un'altra parte dell'analogia degli spaghetti è il modo in cui apportare una modifica a una parte del codice può avere effetti imprevedibili sul resto del programma, proprio come tirare un filo di spaghetti può influenzare altri fili di spaghetti che in modi che non lo sono prevedibile. Tecniche come l'occultamento dei dati vengono spesso utilizzate per prevenire problemi simili nella codifica.
I linguaggi di programmazione procedurale, come COBOL e FORTRAN, dipendono dall'abilità e dalla diligenza del programmatore per evitare di finire con il codice spaghetti. Un sottoinsieme di programmazione procedurale noto come programmazione strutturata, che impone una struttura all'interno del codice, è stato sviluppato per aggirare tali problemi.
Il codice Spaghetti o qualsiasi tipo di codice difficile da capire viene talvolta definito codice di sola scrittura. Altre variazioni sulla teoria della programmazione della pasta includono il codice lasagna, che è paragonato alla programmazione strutturata, e il codice dei ravioli, che è favorito e paragonato alla programmazione orientata agli oggetti (OOP).