Spagettikoodi

Spagettikoodi tarkoittaa tietokoneohjelman lähdekoodia ilman johdonmukaista rakennetta. Spagettikoodissa ohjelman logiikka siirtyy rutiinista toiseen palaamatta alkupisteeseen, joka tekee siitä vaikeasti seurattavan. Spagettikoodi viittaa liialliseen GOTO-käskyjen käyttöön, joka ohjaa tietokoneen suorittamaan toista osaa ohjelmassa ilman takeita palaamisesta.

Ruven Brooksin mukaan kehittäjät ymmärtävät ohjelman ylhäältä-alaspäin mallin mukaan muodostaen hypoteeseja toiminta-alueesta, siirtämällä tämän lähdekoodiin ja määrittämällä sen asteittain. Tästä johtuen koodin ymmärtämiseen vaikuttavat asiat ovat olennaisia ohjelman toiminnan ymmärtämiseen ja tämän myötä ohjelman ylläpitoon sekä jatkokehitystoimintaan. Antisuunnittelumallit (), jotka ovat heikkoja ratkaisuja toistuviin suunnitteluongelmiin, kasvattavat merkittävästi työmäärää tutkimisessa ja muokkaamisessa.

Tarkkaa syntyä sanalle ei ole tiedossa, mutta se on ilmestynyt 1970-luvulla kuvaamaan koodia, jossa ei ole varsinaista rakennetta. Muun muassa Guy Steele vuoden 1977 artikkelissa Macaroni is better than spaghetti on käyttänyt termiä spagetti.

Lähteet 

Ohjelmointi
Antisuunnittelumallit