:B~ Style de code

1~coding-style Style du code

Ce chapitre documente le style du code utilisé dans les systèmes live.

2~ Compatibilité

_* N'utilisez pas une syntaxe ou sémantique qui soit unique au shell
Bash. Par exemple, l'utilisation de tableaux (arrays).

_* N'utilisez que le sous-ensemble POSIX − par exemple, utilisez $(foo) au
lieu de `foo`.

_* Vous pouvez vérifier vos scripts avec 'sh -n' et 'checkbashisms'.

_* Assurez-vous que tout le code fonctionne avec 'set-e '.

2~ Indentation

_* Utilisez toujours des tabulations au lieu des espaces.

2~ Adaptateur

_* Généralement, les lignes sont de 80 caractères au maximum.

_* Utilisez le «style Linux» des sauts de ligne:

Mal:

code{

 if foo; then
         bar
 fi

}code

Bien:

code{

 if foo
 then
         bar
 fi

}code

_* La même chose vaut pour les fonctions:

Mal:

code{

 Foo () {
         bar
 }

}code

Bien:

code{

 Foo ()
 {
         bar
 }

}code

2~ Variables

_* Les variables sont toujours en lettres majuscules.

_* Les variables utilisées dans live-build commencent toujours par le
préfixe #{LB_}#.

_* Les variables temporaires internes dans live-build devraient commencer
avec le préfixe #{\_LB_}#.

_* Les variables locales commencent avec le préfixe #{\_\_LB_}#.

_* Les variables en relation avec un paramètre de démarrage dans live-config
commencent par #{LIVE_}#.

_* Toutes les autres variables dans live-config commencent par le préfixe
#{_}#.

_* Utilisez des accolades autour des variables; écrivez par exemple
#{${FOO}}# au lieu de #{$FOO}#.

_* Protégez toujours les variables avec des guillemets pour respecter les
espaces potentiels: écrire #{"${FOO}"}# en lieu de #{${FOO}}#.

_* Pour des raisons de cohérence, utilisez toujours les guillemets lors de
l'attribution des valeurs aux variables:

Mal:

code{

 FOO=bar

}code

Bien:

code{

 FOO="bar"

}code

_* Si plusieurs variables sont utilisées, utilisez les guillemets pour
l'expression complète:

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~ Autres

_* Utilisez "#{|}#" (sans les guillemets autour) comme séparateur dans les
appels à sed, par exemple "#{sed -e 's|foo|bar|'}#" (sans" ").

_* N'utilisez pas la commande #{test}# pour des comparaisons ou des tests,
utilisez "#{[}#" "#{]}#" (sans ""); par exemple "#{if [ -x /bin/foo ];
...}#" et non pas "#{if test -x /bin/foo; ...}#".

_* Utilisez #{case}# dans la mesure du possible au lieu de #{test}#, parce
qu'il est plus facile à lire et plus rapide à exécuter.

_* Utilisez des noms en majuscule pour les fonctions pour éviter toute
interférence avec l'environnement des utilisateurs.
