Spaghetti code: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
→Collegamenti esterni: Aggiunto il template "FOLDOC" |
||
(54 versioni intermedie di 37 utenti non mostrate) | |||
Riga 1:
[[File:Spaghetti.jpg|
'''''Spaghetti code''''' è un termine dispregiativo per il [[codice sorgente]] di quei [[
Il suo nome deriva dal fatto che questi tipi di codice tendono a assomigliare a un piatto di spaghetti, ovvero un mucchio di fili intrecciati ed annodati.
Riga 8:
== Esempio ==
Il seguente programma è un esempio banale di spaghetti code in [[BASIC]]. Esso stampa su schermo la sequenza di numeri da 1 a 10 e il loro quadrato. Si noti come le istruzioni di "[[GOTO
<
10 dim i
20 i = 0
Riga 18:
70 print i & " al quadrato = " & i * i
80 goto 30
</syntaxhighlight>
Ecco un esempio di codice equivalente scritto con uno stile di programmazione strutturato:
<
function square(i)
square = i * i
end function
dim i
print i & " al quadrato = " & square(i)
next
print "Programma terminato."
</
Anche questo programma esegue salti, ma in questo caso si tratta di salti predicibili e formalizzati. Questo perché il [[Ciclo (informatica)|ciclo]] ''for'' e le [[Funzione (informatica)|funzioni]] definiscono [[Struttura di controllo|flussi di controllo]] standardizzati, mentre le istruzioni ''goto'' incoraggiano flussi di controllo arbitrari.
== Note ==
<references />
== Voci correlate ==
* [[Codice sorgente]]
* [[Programmazione strutturata]]
== Collegamenti esterni ==
* {{FOLDOC}}
* {{en}} [https://web.archive.org/web/20070703050443/http://www.acm.org/classics/oct95/ Go To Statement Considered Harmful]. La classica descrizione degli spaghetti code fatta da [[Edsger Dijkstra]].
* {{
{{Portale|informatica}}
[[Categoria:Anti-pattern]]▼
▲[[Categoria:Anti-pattern]]
|