indent style: n.

[programmatori C, C++ e Java] Le regole che uno usa per indentare il codice in un modo leggibile. Ci sono quattro stili di indentazione principali in C, descritti qui sotto; tutti hanno lo scopo di rendere più facile per il lettore di prendere nota visivamente della funzione dei costrutti di controllo. Questi sono stati ereditati dal C++ e dal Java, che hanno sintassi in stile C. La variabili significativa è la posizione di { e } rispetto alle istruzione/i che racchiudono e rispetto alle istruzioni di controllo (if, else, for, while o do) sul blocco, se ce ne sono.

Stile K&R — Prende il nome dal Kerninghan & Ritchie, perchè gli esempi nel K&R sono formattati in questo modo. Chiamato anche stile kernel perchè il kernel di Unix è scritto così, e anche ‘One True Brace Style’ (abbrev. 1TBS) dai suoi sostenitori. Nel codice C, il codice è in genere indentato tramite otto spazi (o un carattere tab) per livello, com'è mostrato qui. Quattro spazi si vedono occasionalmente nel C, ma in C++ e Java tendono ad essere la regola più che l'eccezione.


if (<cond>) {
        <body>
}

Stile Allman — Chiamato così da Eric Allman, un hacker di Berkeley che ha scritto in questo modo molte utility BSD (a volte è chiamato lo stile BSD). Ricorda il normale stile di identazione in Pascal e Algol. E' l'unico stile a parte quello di K&R che è usato diffusamente dai programmatori Java. L'indentazione di base per ogni livello mostrata qui è di otto spazi, ma quattro (o a volte tre) spazi sono in genere preferiti dai programmatori C++ e Java.


if (<cond>)
{
        <body>
}

Stile Whitesmiths — reso famoso dagli esempi forniti con Whitesmiths C, un compilatore C commerciale recente. L'indentazione di base per livello mostrata qui è di otto spazi, anche se a volte se ne vedono quattro.


if (<cond>)
        {
        <body>
        }

Stile GNU — Usato per tutto il codice di GNU EMACS e della Free Software Foundation, e più o meno da nessun'altra parte. Le indentazioni sono semper di quattro spazi per livello, con { e } a metà strada fra i livelli al di fuori e quelli interni.


if (<cond>)
  {
    <body>
  }

Alcuni sondaggi hanno mostrato che gli stili Allman e Whitesmiths sono i più comuni, con una diffusione più o meno uguale. K&R/1TBS in passato erano universali, ma adesso sono molto meno comuni nel C (la parentesi aperta tende a perdersi rispetto alla parentesi a destra della condizione di un if o while, cosa che è una Bad Thing). I difensori di 1TBS argomentano che ogni guadagno nella leggibilità è meno importante che l'economia che il loro stile fa dello spazio verticale, che permette a qualcuno di vedere più codice per ogni schermata. La Java Language Specification legittima non solo il carattere maiuscolo per gli identificatori, ma dove sostantivi, aggettivi e verbi devono trovarsi in metodi, classi, interfacce, e nomi di variabile (sezione 6.8). Dato che la specifica si ferma presto nello standardizzare uno stile di parentesi, tutto il codice sorgente provenienti dai laboratori Sun usano lo stile K&R. Questo ha creato un precedente per i programmatori Java, che la maggior parte di loro segue.

Senza dubbio quest'argomento continuerà ad essere il soggetto di holy wars.