Spaghetti code é um termo depreciativo para programação de computadores que é desnecessariamente complicado, e particularmente código de programação que usa ramificações freqüentes de uma seção de código para outra. Código spaghetti às vezes existe como resultado de código mais antigo ser modificado várias vezes ao longo dos anos.
> Outra parte da analogia do spaghetti é a forma como fazer uma alteração em uma parte do código pode ter efeitos imprevisíveis no resto do programa, assim como puxar um fio de spaghetti pode afetar outros fios de spaghetti que de maneiras não previsíveis. Técnicas como esconder dados são frequentemente usadas para prevenir problemas similares na codificação.
Linguagens de programação de procedimentos, como COBOL e FORTRAN, dependem da habilidade e diligência do programador para evitar acabar com o código do spaghetti. Um subconjunto de programação procedural conhecido como programação estruturada, que reforça uma estrutura dentro do código, foi desenvolvido para contornar tais problemas.
Código Spaghetti ou qualquer tipo de código de difícil compreensão é às vezes referido como código apenas de escrita. Outras variações na Teoria da Programação de Pasta incluem código de lasanha, que é comparado à programação estruturada, e código ravioli, que é favorecido e comparado à programação orientada a objetos (OOP).