Ero sivun ”Spagettikoodi” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 1:
'''Spagettikoodi''' tarkoittaa [[tietokoneohjelma]]n [[lähdekoodi]]a ilman johdonmukaista rakennetta. Spagettikoodissa ohjelman logiikka siirtyy [[aliohjelma|rutiini]]sta 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.<ref>{{Verkkoviite | osoite = https://www.pcmag.com/encyclopedia/term/spaghetti-code | nimeke = spaghetti code | viitattu = 22.10.2022 | kieli = {{en}} }}</ref>
 
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. "Epämallit" ({{k-en|anti-pattern}}, vastakohtana [[SuunnittelumallitSuunnittelumalli|suunnittelumalli]]lle), jotka ovat heikkoja ratkaisuja toistuviin suunnitteluongelmiin, kasvattavat merkittävästi työmäärää tutkimisessa ja muokkaamisessa.<ref>{{Verkkoviite | osoite = https://arxiv.org/pdf/2009.02438.pdf | nimeke = A Large Scale Empirical Study of the Impact of Spaghetti Code and Blob Anti-patterns on Program Comprehension | tiedostomuoto = PDF | viitattu = 22.10.2022 | kieli = {{en}} }}</ref>
 
Tarkkaa syntyä sanalle ei ole tiedossa, mutta usein viitataan 1970-luvulla tehtyihin artikkeleihin.{{lähde}}