aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup/pod/live-manual/media/text/ca/project_coding-style.ssi
blob: 1c36f71ba06886f01a3698ce5df9abfd577fb497 (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
152
:B~ Estil de Codi

1~coding-style Estil de Codi

En aquest capítol es documenta l'estil de codi utilitzat a live systems.

2~ Compatibilitat

_* No utilitzar una sintaxi o semàntica que sigui exclusiva de l'intèrpret
d'ordres Bash. Per exemple, l'ús dels arrays.

_* Utilitzar només el subconjunt POSIX - per exemple, utilitzar $(foo) en
lloc de `foo`.

_* Es pot comprovar els scripts amb 'sh -n' i 'checkbashisms'.

_* Assegurar-se que tot el codi funciona amb 'set -e'.

2~ Indentació

_* Utilitzar sempre tabuladors en lloc d'espais.

2~ Ajust de línia

_* En general, les línies són de 80 caràcters com a màxim.

_* Utilitzar "l'estil Linux" de salts de línia:

Mal:

code{

 if foo; then
         bar
 fi

}code

Bé:

code{

 if foo
 then
         bar
 fi

}code

_* El mateix val per a les funcions:

Mal:

code{

 Foo () {
         bar
 }

}code

Bé:

code{

 Foo ()
 {
         bar
 }

}code

2~ Variables

_* Les variables van sempre en majúscules.

_* Les variables que s'utilitzen a live-build sempre comencen amb el prefix
#{LB_}#

_* Les variables temporals internes de live-build comencen amb el prefix
#{\_LB_}#

_* Les variables locals comencen amb el prefix live-build #{\_\_LB_}#

_* Les variables en relació a un paràmetre d'arrencada de live-config
comencen amb #{LIVE_}#.

_* Totes les altres variables de live-config comencen amb el prefix #{_}#

_* Utilitzar claus al voltant de les variables, per exemple, escriure
#{${FOO}}# en lloc de #{$FOO}#.

_* Protegir sempre les variables amb cometes per a respectar els espais en
blanc potencials: escriure #{"${FOO}"}# no #{${FOO}}#.

_* Per raons de coherència, utilitzar sempre cometes al assignar valors a
les variables:

Mal:

code{

 FOO=bar

}code

Bé:

code{

 FOO="bar"

}code

_* Si s'utilitzen múltiples variables, posar cometes a l'expressió completa:

Mal:

code{

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

}code

Bé:

code{

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

}code

2~ Miscel·lània

_* Utilitzar "#{|}#" (sense les cometes) com separador en l'ús de sed, per
exemple, "#{sed -e 's|foo|bar|'}#" (sense "").

_* No utilitzar l'ordre #{test}# per a fer comparacions o tests, utilitzar
"#{[}#" "#{]}#" (sense ""); per exemple, "#{if [ -x /bin/foo ]; ...}#" i no
"#{if test -x /bin/foo; ...}#".

_* Utilitzar #{case}# sempre que sigui possible en lloc de #{test}#, ja que
és més fàcil de llegir i més ràpid en l'execució.

_* Fer servir noms en majúscula per a les funcions per evitar conflictes amb
l'entorn dels usuaris.