Introduction

Plat de spaghetti nature.
La programmation spaghetti ou code spaghetti sont des termes péjoratifs utilisés en programmation. Ils qualifient des programmes dont le code n'est pas clair et qui font un usage excessif de sauts inconditionnels (voir Goto), d'exceptions en tous sens, de gestion des événemments alambiqués et de threads divers. En fait, la programmation spaghetti qualifie tout ce qui ne permet pas de déterminer le qui, le quoi et le comment d'une prise de contrôle par une portion de programme.
Cette notion s'applique aussi au niveau du flux de données (pas seulement au flux de contrôle). Il qualifie également des programmes dont le code fait un usage excessif de couplage fort.
La programmation spaghetti est un exemple d'anti-patron.