summaryrefslogtreecommitdiff
path: root/STYLE
diff options
context:
space:
mode:
authorBenedikt Boehm <hollow@gentoo.org>2005-10-09 09:38:44 +0000
committerBenedikt Boehm <hollow@gentoo.org>2005-10-09 09:38:44 +0000
commitc44034d4ca22d66e442424dbadf7b125ca75bc79 (patch)
treec7fa74661901281891b7bc41a38927089fd3aea5 /STYLE
parentfix net services (diff)
downloadbaselayout-vserver-c44034d4ca22d66e442424dbadf7b125ca75bc79.tar.gz
baselayout-vserver-c44034d4ca22d66e442424dbadf7b125ca75bc79.tar.bz2
baselayout-vserver-c44034d4ca22d66e442424dbadf7b125ca75bc79.zip
add release helper
svn path=/baselayout-vserver/trunk/; revision=54
Diffstat (limited to 'STYLE')
-rw-r--r--STYLE64
1 files changed, 64 insertions, 0 deletions
diff --git a/STYLE b/STYLE
new file mode 100644
index 0000000..e99d955
--- /dev/null
+++ b/STYLE
@@ -0,0 +1,64 @@
+This is the rc-scripts style manual. It governs the coding style
+of rc-scripts. Everything here might as well have been spoken by
+God. If you find any issues, please talk to base-system@gentoo.org
+or #gentoo-base on irc.freenode.net.
+
+#############
+# VARIABLES #
+#############
+- User Variables -
+ Variables must always be enclosed by {}
+ e.g. ${foo} ${bar}
+- Internal Bash Variables -
+ Do not use {} with internal variables unless appropriate
+ e.g. case $1 in
+ e.g. foo=$IFS
+ e.g. echo "blah${1}123"
+- Assigning with Quotes -
+ When assigning to a variable from another variable or
+ a subshell, you do not need quotes, bash handles it
+ e.g. foo=${bar}
+ e.g. foo=$(uname -a)
+
+#########
+# TESTS #
+#########
+- Brackets -
+ Always use the [[ ... ]] form instead of [ ... ]
+- Equality -
+ Always use == form instead of = when testing equality. Makes
+ for saner looking code (we all love C, don't lie).
+- Quoting -
+ When dealing with strings, do not quote the LHS variable.
+ The [[ ... ]] handles spaces properly in variables. You
+ should always quote strings though.
+ e.g. [[ ${foo} = "bar" ]]
+ e.g. [[ "foo" != "bar" ]]
+ The RHS variable needs to be quoted to prevent against accidental
+ pattern matching (unless you want to match, of course).
+ e.g. [[ ${foo} = "${bar}" ]]
+ If foo=a-b and bar=a-* and ${bar} was not quoted, you would
+ get a match!
+
+###############
+# CODE BLOCKS #
+###############
+- Structure -
+ Use the more compact form
+ e.g. if ... ; then
+ e.g. while ... ; do
+ Do not use the older form
+ e.g. if ...
+ then
+- Functions -
+ Use the more compact form
+ e.g. foo() {
+ Do not lead with 'function '
+ e.g. function foo() {
+
+############
+# COMMENTS #
+############
+- General -
+ Try to include a comment block before sections
+ of code to explain what you're attempting