
Sono sempre stato un maniaco dello stile di programmazione a partire dalla formattazione del codice. Una delle più interessanti guide sullo stile di programmazione si trova direttamente nei sorgenti del kernel Linux:
<linux-source-directory>/Documentation/CodingStyle
E’ un’ottima documentazione e vorrei condividerla con i miei lettori traducendola in italiano. Trattandosi di una guida per la scrittura di codice del kernel Linux, sono presenti alcune riferimenti o paragrafi riguardanti tale tipo di programmazione, ove possibile, quindi, sarà fornita una versione ritagliata e riadattata per essere di carattere più generale possibile.
CAPITOLO 1: Formattazione
Il carattere speciale “Tab” equivale a 8 caratteri, quindi anche la formattazione del codice è basata su spazi di 8 caratteri. Ci sono movimenti eretici che provano ad usare formattazioni basate su spaziature a 4 (o anche 2!) caratteri, questo equivale a dire che il valore esatto di PI è 3.
Spiegazione razionale: Il concetto che è alla base di una buona formattazione è di definire in maniera chiara l’inizio e la fine di un blocco di codice. Specialmente quando hai trascorso 20 ore consecutive a fissare il tuo schermo, troverai molto più facile distinguere i vari blocchi se avrai fatto uso di una formattazione più larga.
Ora, qualcuno potrebbe obiettare che, avendo una formattazione basata su spaziature a 8 caratteri, il codice si sposti troppo velocemente verso destra, rendendolo di difficile lettura su un schermo di un terminale a 80 caratteri. La risposta a questo è che, se tu hai bisogno di più di 3 livelli di profondità, stai comunque sbagliando e devi sistemare il tuo codice.
In poche parole la formattazione con spaziature a 8 caratteri rende il codice più facilmente leggibile e ha il valore aggiunto di avvertirti quando stai annidando troppo in profondità le tue funzioni.
Non inserire più dichiarazioni su una singola linea a meno che non hai qualcosa da nascondere:
if (condition) do_this; do_something_everytime;Fatta eccezione per i commenti e la documentazione non vengono mai utilizzati singoli spazi per la formattazione e l’esempio qui sopra è volutamente errato.
Usa un editor decente e evita di lasciare spazi alla fine delle linee.
Per questa puntata è tutto, nella prossima vedremo come spezzare le righe lunghe di codice e come posizionare le parentesi.
21 Commenti
Commenti RSS TrackBack Identifier URI
Lascia un commento






in attesa della prossima allora!
Per posizionare le parentesi io dico già che sono un eretico che usa la formattazione bsd – like…
ai tempi della tesi avevo configurato emacs (grande editor in questo senso – assieme ad altri aspetti) perchè l’indentazione fosse gestita dall’editor, in stile bsd…
figata…
8 caratteri, 3 livelli funziona, ma come la mettiamo con le righe lunghe?
Io devo vedere a schermo la maggior parte del codice che sto editando quindi preferisco una spaziatura a 3 o 4 caratteri.
@Rudi:
Nella prossima puntata si parlerà (anche) di come gestire le righe lunghe pur mantenendo il tab a 8 caratteri e 3 livelli…resta sintonizzato
Io uso una spaziatura con due caratteri:
e me ne vanto!
Smetti di scrivere.
Della spaziatura con il TAB a 8 caratteri chissà che cosa ne direbbe il buon Guido Van Rossum, creatore e nume tutelare dell’ottimo Python, visto che sostiene la necessità di usare 4 spazi per ogni indentazione
P.S. ricordo che in python p.es. l’indentazione è tutto. Si indenta ogni classe e ogni funzione (def); se 3 indentazioni fossero il massimo, uno potrebbe inserirci solo un blocco condizionale e finirebbe lì
E’ un buon stile ma non va bene per tuti i linguaggi.
non sono d’accordo
la spaziatura a 8 caratteri è troppo
secondo me è meglio avere un editor che evidenzia gli indentamenti e farli da 4 spaziature..
in quanto a ( + di 3 livelli è troppo ) avrei qualcosa da ridire anche qui..
è facilissimo arrivare a 5 livelli:
metodo -> if -> ciclo for -> ciclo for -> if
non è una cosa sbagliata, né qualcosa che capita di rado.. se si lavora con le immagini
quando chiedo che tool di sviluppo usano agli sviluppatori C++ mi rispondono quasi tutti Vim
percarità.. Vim è un bellissimo software, lo uso spessissimo per i file di configurazione Linux…
ma io quando parlo di tool di sviluppo ho in mente qualcosa come Eclipse per Java….
non ho mai capito perché utilizzare Vim…
o meglio.. mi andrebbe bene un tool di sviluppo come eclipse che integrasse un sistema “alla vim” al suo interno..
mah..
cmq anche qui.. se si usa il carattere /tab non vedo quale sia il problema… nell’editor ognuno imposta se vuol vedere uno spazio di 4 o di 8 per i TAB
quando trovo un indentamento a spazi (e non tab) mi da molto fastidio
@LukenShiro:
Hai ragione, il python è un discorso a parte!
@mastro:
Uso Vim e terminale a 80 caratteri per programmare, ogni giorno sono oggetto di critiche da parte di amici e colleghi, ma credo che la scelta dell’editor e del modo di programmare sia strettamente personale e soggettiva…come la fede calcistica o politica!
urka.. finalmente nella blogosfera compaiono cose interessanti! Mi faccio un bookmark va.. ciao!
TAB a 4 per la vita, odio smisurato per chi usa le spaziature a singoli caratteri o lascia spazi alla fine delle righe!
Devo – DEVO – imparare a stare entro gli 80 caratteri
@Daniele:
Grazie, è un onore!
@Marco:
Propongo di fondare un’associazione pro TAB a 8 caratteri!
@Tutti:
Credo che domani posterò la seconda parte della guida…slurp slurp…ghiottoni!
In effetti il tab a 4 evita cose del tipo:
if
if
Che qui si vede con uno spazio ragionevole, ma provate a metterlo in un editor di testi “normale”. La spaziatura tra gli if diventa molto più evidente.
In ogni caso, le guerre di religione servono a poco, l’importante è che il codice sia leggibile e comprensibile, se si vuole avere facile manutenzione o si vuole che altri (o se stessi dopo un mese) riescano a capirci qualcosa.
Acchio, addirittura lo script della pagina annulla gli spazi iniziali!!! Infatti i due if compaiono uno sotto l’altro! Va beh, l’importante è che si capisca cosa volevo dire
[...] Programmare con stile (1) [image] Sono sempre stato un maniaco dello stile di programmazione a partire dalla formattazione del codice. Una delle […] [...]
Ottima guida , ovvio che va adattata al linguaggio di programmazione. Il Tab a 8 caratteri può sembrare eccessivo , ma la cosa mi convince.
Concordo anch’io che più di tre livelli di nidificazione sono troppi ed andrebbero evitati il piu’ possibile.
@henomis Quando hai pubblicato tutte le parti potresti unirle per farne una sorta di mini documento da tenere appeso vicino al monitor
una curiosità da super ultra niubbo
la guida è utile anche per chi inizia a scriptare con linguaggi, del tipo php, o essendo una formattazione per codici linux, è opportuno applicarla solo a quest’ultimo?
grazie
@lostbob:
Ok appena terminate le puntate preparerò un PDF!
@nikopolidis:
Per quanto riguarda PHP vai tranquillo si adatta alla grande…poi quando esamineremo i formattatori automatici potrai provare a vedere il risultato su un codice scritto in maniera non formattata.
Una curiosità… è possibile inserire questa guida nel cosrso d’informatica etica… magari nella parte finale del corso?
Marco
[...] Programmare con stile (1) « Simone Vellei (Henomis) Blog [...]
Caro henomis, te plaudo !
bella idea quella di tradurre le CodingStyle di Linus…
…. peccato io usi python e quindi rimango col imo TAB a 4 caratteri
e in ogni caso… viva Vim !
http://www.lysator.liu.se/c/pikestyle.html