Indentazione: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
MerlIwBot (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
{{F|informatica|agosto 2011}}
L''''indentazione''' (o '''indentatura''') è l'inserimento di una certa quantità di spazio vuoto all'inizio di una riga di testo. In tipografia il termine corretto è '''rientro'''. Nell'ambito della programmazione, l'indentazione è una convenzione utilizzata per esprimere al meglio la struttura di un codice.
 
Si tratta di un requisito non obbligatorio per molti linguaggi di programmazione e viene spesso messo in secondo piano. Tuttavia, è fondamentale per incrementare la leggibilità del codice, in particolare delle '''strutture di controllo''' come le condizioni o i loop.
 
== Tipografia ==
Line 57 ⟶ 59:
=== Linguaggi con indentazione significativa ===
Esistono alcuni esempi di linguaggi in cui l'indentazione del codice è ''significativa'', ovvero in cui gli spazi bianchi influiscono sull'interpretazione e l'esecuzione del programma da parte dell'[[Interprete (informatica)|interprete]] del linguaggio. Fra i più celebri si possono citare [[Occam (linguaggio)|Occam]], [[Haskell (linguaggio)|Haskell]] e [[Python]]. In questi linguaggi i blocchi di righe non vengono delimitati da appositi caratteri (ad esempio le parentesi graffe in C) o parole chiave (IF, THEN, ENDIF...) ma individuati appunto in base all'indentazione. Non è possibile quindi che una riga di codice abbia un'indentazione ''sbagliata'', ovvero non corrispondente alla struttura logica del programma, in quanto è proprio l'indentazione stessa a determinare la struttura logica.
 
== Stili di indentazione ==
Con il passare del tempo, si sono sviluppati moltissimi '''stili di indentazione differenti''' volti a venire incontro alle esigenze di qualsiasi programmatore per rendere il codice immediatamente comprensibile.
 
=== K&R ===
Lo '''stile K&R''', così chiamato in quanto fu utilizzato da '''Kernighan e Ritchie''' nel libro [[Il linguaggio C]], è comunemente utilizzato in [[C]], [[C++]], [[C#]] ed altri linguaggi. Tale stile prevede che:
 
* Ogni '''funzione''' abbia la propria parentesi d'apertura sulla riga successiva alla sua intestazione e con la stessa quantità di rientri di quest'ultima, mentre la parentesi di chiusura su di una riga esclusiva e con lo stesso rientro di quella di apertura.
* I blocchi '''all'interno''' della funzione presentino la parentesi d'apertura sulla stessa linea dell'intestazione e quella di chiusura su di una linea esclusiva, a meno che non ci sia un '''else''' o un '''while'''.
 
Un esempio pratico dello stile di indentazione K&R è il seguente:
 
<source lang=c>
int main (int argc, char *argv[])
{ // La parentesi d'apertura della funzione si trova su di un rigo dedicato
 
if (x > 0) { // La parentesi d'apertura dei blocchi è sulla stessa riga dell'intestazione dello stesso
x = 1;
} // Parentesi di chiusura su riga esclusiva e stessi rientri
 
} // Parentesi di chiusura su riga esclusiva e stessi rientri
</source>
 
== Voci correlate ==