summary refs log tree commit diff
path: root/CONTRIBUTING
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2010-11-29 00:47:11 +0100
committerMichael Biebl <biebl@debian.org>2010-11-29 00:47:11 +0100
commit9fae01fa351805b2903e535736e06971bc0b925e (patch)
treec19bccf84c9f894e50fae678ba6ee2b2044e2d30 /CONTRIBUTING
Imported Upstream version 0.8.1 upstream/0.8.1
Diffstat (limited to 'CONTRIBUTING')
-rw-r--r--CONTRIBUTING41
1 files changed, 41 insertions, 0 deletions
diff --git a/CONTRIBUTING b/CONTRIBUTING
new file mode 100644
index 00000000..47f93700
--- /dev/null
+++ b/CONTRIBUTING
@@ -0,0 +1,41 @@
+Guidelines for Contributing:
+
+1) Platform-specific functionality (for example, location of binaries that
+NetworkManager calls, or functionality used only on some platforms or
+distribution, like resolvconf) should be configurable at build time, with the
+normal autoconf mechanisms for putting a #define in config.h (AC_DEFINE), then
+with #ifdef MY_DEFINE / #endif in the code.
+
+2) Coding standards are generally GNOME coding standards, with these exceptions:
+	a) 4 space tabs  (_not_ 8-space tabs)
+	b) REAL tabs (_not_ a mix of tabs and spaces in the initial indent)
+	c) spaces used to align continuation lines past the indent point of the
+	   first statement line, like so:
+
+		if (some_really_really_long_variable_name &&
+		    another_really_really_long_variable_name) {
+			...
+		}
+
+* Keep a space between the function name and the opening '('.
+    GOOD: g_strdup (x)
+    BAD:  g_strdup(x)
+
+* C-style comments, except for FIXMEs.
+    GOOD: f(x);  /* comment */
+    BAD:  f(x);  // comment
+
+    GOOD: // FIXME: juice the gooblygok
+    BAD:  /* FIXME: juice the gooblygok */
+
+* Keep assignments in the variable declaration area pretty short.
+    GOOD: MyObject *object;
+    BAD: MyObject *object = complex_and_long_init_function(arg1, arg2, arg3);
+
+* 80-cols is a guideline, don't make the code uncomfortable in order to fit in
+  less than 80 cols.
+
+* Constants are CAPS_WITH_UNDERSCORES and use the preprocessor.
+    GOOD: #define MY_CONSTANT 42
+    BAD:  static const unsigned myConstant = 42;
+