diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2021-11-27 21:54:49 -0500 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2021-11-27 21:54:49 -0500 |
commit | 78b1b83be0cf04b4cba707751b7ad4d97787fe37 (patch) | |
tree | 0260daae62c3c0c055b7ec73b274fa82b31b344f /markup/pod/live-manual/media/text/en/project_coding-style.ssi |
track document samples used
Diffstat (limited to 'markup/pod/live-manual/media/text/en/project_coding-style.ssi')
-rw-r--r-- | markup/pod/live-manual/media/text/en/project_coding-style.ssi | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/markup/pod/live-manual/media/text/en/project_coding-style.ssi b/markup/pod/live-manual/media/text/en/project_coding-style.ssi new file mode 100644 index 0000000..9a03971 --- /dev/null +++ b/markup/pod/live-manual/media/text/en/project_coding-style.ssi @@ -0,0 +1,139 @@ +:B~ Coding Style + +1~coding-style Coding Style + +This chapter documents the coding style used in live systems. + +2~ Compatibility + +_* Don't use syntax or semantics that are unique to the Bash shell. For example, the use of array constructs. + +_* Only use the POSIX subset - for example, use $(foo) over `foo`. + +_* You can check your scripts with 'sh -n' and 'checkbashisms'. + +_* Make sure all shell code runs with 'set -e'. + +2~ Indenting + +_* Always use tabs over spaces. + +2~ Wrapping + +_* Generally, lines are 80 chars at maximum. + +_* Use the "Linux style" of line breaks: + +Bad: + +code{ + + if foo; then + bar + fi + +}code + +Good: + +code{ + + if foo + then + bar + fi + +}code + +_* The same holds for functions: + +Bad: + +code{ + + Foo () { + bar + } + +}code + +Good: + +code{ + + Foo () + { + bar + } + +}code + +2~ Variables + +_* Variables are always in capital letters. + +_* Variables used in live-build always start with #{LB_}# prefix. + +_* Internal temporary variables in live-build should start with the #{\_LB_}# prefix. + +_* Local variables start with live-build #{\_\_LB_}# prefix. + +_* Variables in connection to a boot parameter in live-config start with #{LIVE_}#. + +_* All other variables in live-config start with #{_}# prefix. + +_* Use braces around variables; e.g. write #{${FOO}}# instead of #{$FOO}#. + +_* Always protect variables with quotes to respect potential whitespaces: write #{"${FOO}"}# not #{${FOO}}#. + +_* For consistency reasons, always use quotes when assigning values to variables: + +Bad: + +code{ + + FOO=bar + +}code + +Good: + +code{ + + FOO="bar" + +}code + +_* If multiple variables are used, quote the full expression: + +Bad: + +code{ + + if [ -f "${FOO}"/foo/"${BAR}"/bar ] + then + foobar + fi + +}code + +Good: + +code{ + + if [ -f "${FOO}/foo/${BAR}/bar" ] + then + foobar + fi + +}code + +2~ Miscellaneous + +_* Use "#{|}#" (without the surround quotes) as a separator in calls to sed, e.g. "#{sed -e 's|foo|bar|'}#" (without ""). + +_* Don't use the #{test}# command for comparisons or tests, use "#{[}#" "#{]}#" (without ""); e.g. "#{if [ -x /bin/foo ]; ...}#" and not "#{if test -x /bin/foo; ...}#". + +_* Use #{case}# wherever possible over #{test}#, as it's easier to read and faster in execution. + +_* Use capitalized names for functions to limit messing with the users environment. |