Qualifica-se de código espaguete um programa de computador que não segue as regras da programação estruturada e abusa de desvios, condicionais ou não, o que torna sua leitura por seres humanos bem difícil. A expressão é uma crítica a programas mal organizados, por isso difíceis de analisar, corrigir e modificar.[1] [2]

Por exemplo, o programa a seguir

10 INPUT A$
20 GOTO 200
30 PRINT A$,B
40 GOTO 1000
100 GOTO 30
200 INPUT B
210 IF B>=0 GOTO 30
220 IF B<0 GOTO 100
500 GOTO 3000
1000 INPUT C$
1200 INPUT D
2000 IF D>0 GOTO 500
3000 PRINT A$,"+",C$,"=",B+D
5000 END

equivale ao programa:

10 INPUT A$,B
20 PRINT A$,B
30 INPUT C$,D
40 PRINT A$,"+",C$,"=",B+D
50 END

porém está em código espaguete.

Obs.: a versão acima está intencionalmente confusa e provavelmente nunca seria criada senão com este propósito.

O porquê do nome editar

O nome Código Espaguete vem do fato que um fluxograma do programa feito dessa forma provavelmente apresentará várias linhas se entrecruzando, como em um prato de espaguete.

Referências

  1. [1] Definição de spaghetti code em The Jargon File, version 4.4.8. Acesso em 6Jul2018.
  2. [2] TOMOV & IVANOVA. COMPUTER SCIENCE AND EDUCATION IN COMPUTER SCIENCE (CSECS 2014), At Sozopol, Bulgaria. Teaching good practices in software engineering by counterexamples. Acesso em 6Jul2018.
  Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.