: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.