Linus stava scherzando?
Il pezzo è scritto in uno stile giocoso che suggerisce che l'autore abbia familiarità con il modo in cui lo stile di programmazione è discusso tra i professionisti seri: tutti abbiamo le nostre preferenze e le difendiamo rabbiosamente, ma con la lingua almeno parzialmente nella guancia. Comprendiamo perfettamente che gran parte di esso è solo una questione di gusti personali. Dice, in così tante parole, "Coding style is very personal, and I won't _force_ my views on anybody"
almeno al di fuori del codice che mantiene personalmente. Ma la coerenza di stile in un determinato progetto è un'ottima idea. Preferirei piuttosto codificare uno stile che non mi piace piuttosto che occuparmi di più stili in una data funzione.
Ecco un esempio di scrittura chiaramente giocosa:
However, there is one special case, namely functions: they have the
opening brace at the beginning of the next line, thus:
int function(int x)
{
body of function
}
Heretic people all over the world have claimed that this inconsistency
is ... well ... inconsistent, but all right-thinking people know that
(a) K&R are _right_ and (b) K&R are right. Besides, functions are
special anyway (you can't nest them in C).
Playful (1).
È probabilmente un buon consiglio cercare di evitare che il rientro sfugga al controllo, anche se un massimo di tre livelli potrebbe essere iperbolico. Non intendo fare il grep sul sorgente del kernel e contare le sequenze di quattro caratteri tab, ma scommetto che potresti trovarne almeno uno scritto da Torvalds.
D'altra parte, se qualcuno può scrivere il kernel Linux senza spesso superare i tre livelli di rientro, un limite di tre livelli potrebbe essere un esercizio che vale la pena provare per un po 'nel tuo codice, solo per vedere dove ti porta. Questo non è come un cambiamento di sesso, lo sai. Non è un impegno a vita.
Se incontri qualcuno su Internet che pensa di capire molto meglio la programmazione di Torvalds (2), allora sai che tipo di persone piace parlare in grande su Internet.
D'altra parte, ha torto criminalmente sulle schede di otto spazi. Questo è il delirio di un uomo che dovrebbe essere tenuto in punizione e alimentato attraverso una fessura. Quattro spazi sono ovviamente corretti.
(1) Ma nota come posiziona erroneamente uno spazio prima delle ellissi e due spazi dopo di loro e due spazi dopo un punto. SBAGLIATO, SBAGLIATO, SBAGLIATO. E poi ha il coraggio sfacciato per castigare gli eretici. L'eretico sei tu, Torvalds! SEI TU!
(2) Se si desidera parlare di " capire come progettare un sistema di controllo del codice sorgente ", potrebbe esserci spazio per il dibattito.
Nota: Gentile collega che ha inviato più volte la stessa modifica: la formattazione del materiale citato viene mantenuta esattamente come l'autore voleva che fosse. Questo perché proviene da un saggio sulla formattazione del testo a larghezza fissa, scritto in testo a larghezza fissa, da qualcuno che ha dato una buona dose di pensiero alla formattazione del testo a larghezza fissa. La formattazione è una parte consapevole e intenzionale dell'intento dell'autore ed è rilevante per l'argomento.
Inoltre, ho fatto riferimento a tale formattazione nel mio testo. Se togli la pre-formattazione, la mia nota a piè di pagina (1) diventa incomprensibile. Se la preformattazione viene rimossa, lo stesso dovrebbe essere il testo nella mia nota a piè di pagina (1) che si riferisce alle coppie di spazi dopo i punti di arresto completi alla fine delle frasi. Riesco comunque a vedere una logica per rimuovere quella nota in calce, dato che è meno divertente di quanto sembrasse quando l'ho scritta. Ma rimuovere la formattazione senza rimuovere la nota a piè di pagina non è utile.