Cod spaghete

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
O farfurie de spaghete este indisolubil împletită, de unde și denumirea de cod spaghetti .

Codul spaghetti este un termen derogatoriu pentru codul sursă al acelor programe de calculator care au o structură complexă și / sau de neînțeles de control al fluxului, cu o utilizare exagerată și incorectă a go to , excepții , fire și alte construcții de ramificare .) Nestructurate. [1] [2]

Numele său derivă din faptul că aceste tipuri de cod tind să semene cu o farfurie de spaghete, care este o grămadă de fire împletite și înnodate.

Codul spaghetti este un exemplu de anti-model .

Exemplu

Următorul program este un exemplu banal de cod spaghetti în BASIC . Tipărește secvența numerelor de la 1 la 10 și pătratul lor pe ecran. Observați cum instrucțiunileGOTO ” introduc o dependență de numerele de linie ale programului și cum fluxul de execuție sare imprevizibil dintr-o zonă în alta. În practică, în programele reale aparițiile codului spaghetti sunt mult mai complexe și pot crește semnificativ costurile de întreținere ale unui program.

  10 dim the
  20 the = 0
  30 the = the + 1
  40 dacă the <= 10 atunci mergi la 70
  50 imprimare „Programul s-a încheiat”.
  60 Sfârșit
  70 imprimare the & "pătrat =" & the * the
  80 mergi la 30

Iată un exemplu de cod echivalent scris într-un stil de programare structurat:

 funcţie pătrat ( i )
     pătrat = the * the
 Sfârșit funcţie  
 dim the
 pentru the = 1 la 10
     imprimare the & "pătrat =" & pătrat ( i )
 Următorul
 imprimare „Programul s-a încheiat”.

Acest program efectuează și salturi, dar în acest caz sunt salturi previzibile și formalizate. Acest lucru se datorează faptului că pentru bucla și funcțiile definesc standardizate fluxurilor de control , în timp ce goto declarații încurajează fluxurile de control arbitrar.

Notă

  1. ^ (EN) Ce este codul spaghetti? , la stackoverflow.com , 28 octombrie 2010. Adus pe 28 septembrie 2016 .
  2. ^ (EN) Spaghetti Code , pe gnu.org, aprilie / mai 1992. Accesat la 28 septembrie 2016.

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT