From Wikipedia, the free encyclopedia
Spaghettikode (på engelsk: spaghetti code) er et velkendt (oftest, men ikke altid nedsættende) udtryk eller begreb for kildekode der er skrevet på en måde, så det ikke har samme rene, ensartede og logiske struktur hele vejen gennem koden.
Det vil derfor ofte blive oplevet som kryptisk, fordi det både er svært læseligt og svært forståeligt. (Som regel også efter kort tid, af den programmør der har skrevet det)
Dermed vil spaghetti kode også umiddelbart være meget svært at vedligeholde og bygge videre på.
Spaghetti kode kan være forårsaget af flere faktorer, det kan f.eks. være: flygtige projekt krav, manglende programmerings stil og/eller regler eller at forfatteren har utilstrækkelig evne eller erfaring.
Modsætningen til Spaghettikode kan blandt andet være struktureret programmering.
Oprindelsen til navnet er usikker. Edsger Dijkstra begyndte i 1968 i en artikel at argumentere mod rodede programmer.[1] Sammenligningen med spaghetti findes i en artikel fra 1977, skrevet af Guy Lewis Steele Macaroni is Better Than Spaghetti i Proceedings of the 1977 symposium on artificial intelligence and programming languages.[2] Og i 1978 blev betegnelsen benyttet i bogen A primer on disciplined programming using PL/I, PL/CS, and PL/CT skrevet af Richard Conway om visse programmer der "have the same clean logical structure as a plate of spaghetti".[3]
Kendetegn for spaghettikode kan være
Visse programmeringssprog såsom BASIC og Fortran har ry for at fremme spaghettikode og for ligefrem at ødelægge unge programmører. Assemblersprog gør det også nemt at skrive spaghettikode. På den anden side kan det hævdes[af hvem?], at programmører, der først har bakset med rodede programmer i BASIC eller assembler, får lært værdien af struktur. Nogle programmører[hvem?] har talt imod programmeringssprog, der er præget af disciplin og slaveri.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.