:B~ Lo stile nello scrivere codice

1~coding-style Lo stile nello scrivere codice

Questo capitolo documenta lo stile usato in Debian Live per il codice.

2~ Compatibilità

_* Non usare sintassi o semantiche mirate alla shell Bash. Ad esempio l'uso
di costrutti array.

_* Utilizzare solo il sottoinsieme POSIX - ad esempio, usare $(foo) invece
di `foo`.

_* È possibile verificare i propri script con "sh -n" e "checkbashisms".

Assicurarsi che tutto il codice giri con 'set -e'.

2~ Rientri

_* Usare sempre i tab piuttosto che gli spazi.

2~ Ritorno a capo

_* Generalmente le righe sono composte da un massimo di 80 caratteri.

_* Utilizzare lo "stile Linux" per le interruzioni di riga:

Sbagliato:

code{

 if foo; then
         bar
 fi

}code

Corretto:

code{

 if foo
 then
         bar
 fi

}code

_* Lo stesso vale per le funzioni:

Sbagliato:

code{

 Foo () {
         bar
 }

}code

Corretto:

code{

 Foo ()
 {
         bar
 }

}code

2~ Variabili

_* Le variabili vanno sempre scritte in maiuscolo.

_* Le variabili usate in live-build iniziano sempre con il prefisso #{LB_}#.

_* Le variabili interne temporanee in live-build dovrebbero iniziare con il
prefisso #{\_LB_}#.

_* Le variabili locali iniziano con il prefisso live-build #{\_\_LB_}#.

_* Le variabili in live-config relative ai parametri di avvio iniziano con
#{LIVE_}#.

_* Tutte le altre variabili in live-config iniziano con il prefisso #{_}#.

_* Intorno alle variabili utilizzare le graffe; ad esempio scrivere
#{${FOO}}# invece di #{$FOO}#.

_* Proteggere sempre le variabili con le virgolette per rispettare
potenziali spaziature: scrivere #{"${FOO}"}# e non #{${FOO}}#.

_* Per coerenza usare sempre le virgolette quando si assegnano valori alle
variabili:

Sbagliato:

code{

 FOO=bar

}code

Corretto:

code{

 FOO="bar"

}code

_* Utilizzando variabili multiple, quotare l'intera espressione:

Sbagliato:

code{

 if [ -f "${FOO}"/foo/"${BAR}"/bar ]
 then
         foobar
 fi

}code

Corretto:

code{

 if [ -f "${FOO}/foo/${BAR}/bar" ]
 then
         foobar
 fi

}code

2~ Varie

_* Per le chiamate a sed utilizzare "#{|}#" (senza virgolette intorno) come
separatore, ad esempio "#{sed -e 's|foo|bar|'}#" (senza "").

_* Non utilizzare il comando #{test}# per prove o confronti, usare "#{[}#"
"#{]}#" (senza ""); ad esempio "#{if [ -x /bin/foo ]; ...}#" e non "#{if
test -x /bin/foo; ...}#".

_* Ove possibile utilizzare #{case}# invece di #{test}#, essendo più facile
da leggere e più veloce in esecuzione.

_* Per le funzioni utilizzare nomi che iniziano con la maiuscola per
limitare i problemi con le variabili d'ambiente dell'utente.
