Start Logga In Skriv Artikel Om Oss
Vad söker du?
Allt om 'Spagettikod'

Spagettikod

Spagettikodär en benämning på dåligt strukturerad programkod till datorer, ofta innehållande många och onödiga hopp fram och tillbaka mellan olika delar av programmet.

I t ex BASIC berodde det på alltför flitigt användande av GOTO, IF-THEN-hopp och GOSUB tillsammans med bristande kommentarer och otydbara korta variabelnamn (detta ofta på grund av minnesbrist). En ytterligare anledning till att just Basic gav mer spaghettikod än andra språk var att programhoppen var radnummerbaserade i de tidigare versionerna, så att man inte enkelt kunde se vart eller varför programmet skulle hoppa.Att tyda sådan kod blir ungefär som att följa varje enskild spaghetti genom en hel portion... Läsbarheten förbättrades avsevärt när LABELs infördes, även om strukturen ofta var lika dålig.

Edsger Dijkstra skrev tidigt en artikel som varnade för detta överdrivna användande av programhopp, . Motsvarigheten inom objektorienterad programmering heter raviolikod.

Spagettikod är inte nödvändigtvis dålig, den kan vara både effektiv och minnesbesparande, något som var nödvändigt med de tidiga datorerna, problemet ligger främst i läsbarheten och därmed möjligheterna till underhåll (vidareutveckling och korrigering av buggar) och i slutänden således kostnaden för att upprätthålla programmet.

Exempel

Startlabel: GOTO Skriv_ut Beräkna: X=X+1 GOTO Mata_ut Skriv_ut: PRINT "HEJ "; GOTO Beräkna Mata_ut: OUT 2,65 IF X < 4 THEN GOTO Startlabel ELSE GOTO Mata_ut END

Se även

  • BASIC
  • Spagetti
  • http://info.astrian.net/jargon/Hacker_Folklore/The_Story_of_Mel.html

Goto är en styggelse och bör bekämpas med näbbar och klor. Dessutom är koden inte kommenterad, vilket ökar på spagettikänslan /Tycho Brahe

Absolut! :-) Fast koden ovan är kort så är det mycket svårt att följa den vilket är typiskt för spagetti. Vad gör programmet egentligen? är en befogad fråga. // Solkoll

Jag tycker det ser ut som det kommer in i en oändlig slinga. Men jag kan ha missat nåt, och det var ju meningen med exemplet. :-) / TB

Nejdå, När X=>4 så loopar koden i "Mata_ut" vilket programmeraren förmodligen inte har tänkt sig, det är sådana trassel man hamnar i när man inte skriver strukturerat. När jag en gång i tiden (1983) började programmera så skrev jag uteslutande spagettikod vilket resulterade i att programmen blev väldigt buggiga och svåra att vidareutveckla. Det var först när jag började skriva i GFA BASIC på min Atari ST som det blev lite stil på hacken, det för att editorn i GFA automatiskt skapar strukturerad kod vilket var mycket nyttigt. // Solkoll (som vill se fler sådana editorer)

All användning av goto behöver nödvändigtvis inte vara av ondo. Det gäller speciellt om det är viktigare att programmet körs snabbt än att det är elegant skrivet, som i .

Enstaka goto kan också vara en bra lösning i vissa fall, även när strukturen kan prioriteras. Tycker jag.

Redigera?

Artikeln skriven 2009-01-15 av Learning4sharing

Inga kategorier för denna artikel än...

Vi behhöver hjälp att kategorisera våra artiklar. Kan du skriva ett nyckelord för denna artikel? Du kan skriva upp till 3 olika nyckelord för denna artikel, vi uppskattar din hjälp!

Skriv nyckelord som du tycker beskriver denna artikel på ett bra sätt. Du kan ange 3 olika nyckelord för denna artikel, max 20 tecken per nyckelord.

  1. Lägg till fler
    Skriv in svaret på frågan: 3+9

Intresserad av fler artiklar?

Xenofarm
Aido
Oracle
SICStus Prolog
Will Self
Extrem programmering
Objektorienterade programspråk
Mönstermatchning
Mönstermatchning

Senaste sökningarna

tradera har fått 1535 sökningar. Den senaste gjordes 2025-12-16 10:25:08.

Sir Arthur Evans har fått 1424 sökningar. Den senaste gjordes 2025-12-16 10:24:50.

radion har fått 1616 sökningar. Den senaste gjordes 2025-12-16 10:24:37.

adhd har fått 1631 sökningar. Den senaste gjordes 2025-12-16 10:24:23.

ribosom har fått 1800 sökningar. Den senaste gjordes 2025-12-16 10:24:13.

lambda har fått 1556 sökningar. Den senaste gjordes 2025-12-16 10:23:50.

kvarts har fått 1681 sökningar. Den senaste gjordes 2025-12-16 10:22:37.

SX har fått 1862 sökningar. Den senaste gjordes 2025-12-16 10:22:30.

bögjävel har fått 1368 sökningar. Den senaste gjordes 2025-12-16 10:22:26.

de egentliga dalmålen har fått 1357 sökningar. Den senaste gjordes 2025-12-16 10:21:17.

bär har fått 1619 sökningar. Den senaste gjordes 2025-12-16 10:20:24.

teater har fått 1622 sökningar. Den senaste gjordes 2025-12-16 10:20:16.

Designed by: template world
Learning4sharing.nu
All Rights Reserved. 0.18 SEK

Logga in

Välkommen att redigera och skriva nya artiklar!

Ingent Konto?

Skaffa konto för att redigera och skapa nya ariklar Nytt Konto.

Ny Användare

Välkommen att redigera och skriva nya artiklar! Skapa konto nedan.


Ett verifieringsmail kommer att skickas till din E-post som du måste öppna och verifiera din E-post med

Lägg till artikel

Du är inte inloggad.

Logga In eller Skapa konto.