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 2:
'''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. [[Antisuunnittelumalli]]t ({{k-en|anti-pattern}}), 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><ref>{{Verkkoviite | osoite = http://swat.polymtl.ca/~foutsekh/docs/Prop-CSMR11.pdf | nimeke = An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, 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}}