blob: 8950bdbbaae708b7dd83e524888bf2e541143a04 (
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
153
154
155
|
:B~ Estilo de código
1~coding-style Estilo de código
En este capítulo se documenta el estilo de código utilizado en los sistemas
en vivo.
2~ Compatibilidad
_* No utilizar sintaxis o semántica que sea única para el intérprete de
comandos Bash. Por ejemplo, el uso de arrays.
_* Utilizar únicamente el subconjunto POSIX - por ejemplo, usar $(foo) en
lugar de `foo`.
_* Se puede comprobar las secuencias de comandos con 'sh -n' y
'checkbashisms'.
_* Asegurarse de que el código funcione con 'set -e'.
2~ Sangrado
_* Utilizar siempre los tabuladores en lugar de espacios.
2~ Ajuste de líneas
_* En general, las líneas contienen 80 caracteres como máximo.
_* Utilizar los saltos de línea al «estilo Linux»:
Mal:
code{
if foo; then
bar
fi
}code
Bien:
code{
if foo
then
bar
fi
}code
_* Lo mismo vale para las funciones:
Mal:
code{
Foo () {
bar
}
}code
Bien:
code{
Foo ()
{
bar
}
}code
2~ Variables
_* Las variables deben escribirse siempre en letras mayúsculas.
_* Las variables que se utiliza en live-build siempre comienzan con el
prefijo #{LB_}#
_* Las variables temporales internas de live-build deben comenzar con el
prefijo #{\_LB_}#
_* Las variables locales comienzan con el prefijo live-build #{\_\_LB_}#
_* Las variables en relación a un parámetro de arranque en live-config
comienzan con #{LIVE_}#.
_* Todas las demás variables de live-config comienzan con el prefijo #{_}#
_* Utilizar llaves para las variables, por ejemplo, escribir #{${FOO}}# en
lugar de #{$FOO}#.
_* Utilizar comillas dobles en las variables para evitar dejar espacios en
blanco: Escribir #{"${FOO}"}# en lugar de #{${FOO}}#.
_* Por motivos de coherencia, se debe utilizar siempre comillas en la
asignación de valores a las variables:
Mal:
code{
FOO=bar
}code
Bien:
code{
FOO="bar"
}code
_* Si se utilizan múltiples variables, incluir la expresión completa entre
comillas dobles:
Mal:
code{
if [ -f "${FOO}"/foo/"${BAR}"/bar ]
then
foobar
fi
}code
Bien:
code{
if [ -f "${FOO}/foo/${BAR}/bar" ]
then
foobar
fi
}code
2~ Miscelánea
_* Se debe utilizar "#{|}#" (sin comillas) como separador cuando se invoque
a sed, p.ej. "#{sed -e 's|foo|bar|'}#" (Pero sin las comillas "")
_* No se debe utilizar el comando #{test}# para hacer comparaciones o
pruebas, usar "#{[}#" "#{]}#" (sin ""); p.ej. "#{if [ -x /bin/foo ]; ...}#"
en lugar de "#{if test -x /bin/foo; ...}#".
_* Se debe utilizar #{case}# siempre que sea posible en lugar de #{test}#,
ya que es más fácil de leer y más rápido en la ejecución.
_* Usar mayúsculas en los nombres de las funciones para evitar confusiones
con el entorno de los usuarios.
|