aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup/pod/live-manual/media/text/it/project_coding-style.ssi
blob: 8cee4681c5462e52128b9d865d34180495e5234e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
:B~ Lo stile nello scrivere codice

1~coding-style Lo stile nello scrivere codice

This chapter documents the coding style used in live systems.

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.