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.



License: Questo programma è software libero: è possibile ridistribuirlo e modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation, sia la versione 3 della licenza o (a scelta) una versione successiva.

Questo programma è distribuito nella speranza che possa essere utile, ma SENZA ALCUNA GARANZIA, nemmeno la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedere la GNU General Public License per ulteriori dettagli.

Si dovrebbe aver ricevuto una copia della GNU General Public License con questo programma. In caso contrario, vedere http://www.gnu.org/licenses/.

Il testo completo della GNU General Public License può essere trovato nel file /usr/share/common-licenses/GPL-3.


SiSU Spine (object numbering & object search) 2022