Manuale di Live Systems

Lo stile nello scrivere codice

Lo stile nello scrivere codice

This chapter documents the coding style used in live systems.

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'.

Rientri

●  Usare sempre i tab piuttosto che gli spazi.

Ritorno a capo

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

●  Utilizzare lo “stile Linux” per le interruzioni di riga:

Sbagliato:

 if foo; then
         bar
 fi  

Corretto:

 if foo
 then
         bar
 fi  

●  Lo stesso vale per le funzioni:

Sbagliato:

 Foo () {
         bar
 }  

Corretto:

 Foo ()
 {
         bar
 }  

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:

 FOO=bar  

Corretto:

 FOO="bar"  

●  Utilizzando variabili multiple, quotare l'intera espressione:

Sbagliato:

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

Corretto:

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

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.