summaryrefslogtreecommitdiffstats
path: root/kaddressbook/HACKING
diff options
context:
space:
mode:
Diffstat (limited to 'kaddressbook/HACKING')
-rw-r--r--kaddressbook/HACKING100
1 files changed, 100 insertions, 0 deletions
diff --git a/kaddressbook/HACKING b/kaddressbook/HACKING
new file mode 100644
index 000000000..b5714e390
--- /dev/null
+++ b/kaddressbook/HACKING
@@ -0,0 +1,100 @@
+Coding Style
+============
+
+See http://korganizer.kde.org/develop/hacking.html for an HTML version.
+
+Formatting
+----------
+
+- No Tabs.
+- Indent with 2 spaces.
+- A line must not have more than 80 chars.
+- Put Spaces between brackets and arguments of functions.
+- For if, else, while and similar statements put the brackets on the same line
+ as the statement.
+- Function and class definitions have their brackets on separate lines.
+
+Example:
+
+void MyClass::myFunction()
+{
+ if ( blah == fasel ) {
+ blubbVariable = arglValue;
+ } else {
+ blubbVariable = oerxValue;
+ }
+}
+
+
+Header Formatting
+-----------------
+
+- General formatting rules apply.
+- Access modifiers are indented.
+- Put curly brackets of class definition on its own line.
+- Double inclusion protection defines are all upper case letters and are
+ composed of the namespace (if available), the classname and a H suffix
+ separated by underscores.
+- Inside a namespace there is no indentation.
+
+Example:
+
+#ifndef XKJ_MYCLASS_H
+#define XKJ_MYCLASS_H
+
+namespace XKJ {
+
+class MyClass
+{
+ public:
+ MyClass();
+
+ private:
+ int mMyInt;
+};
+
+}
+
+#endif
+
+
+API docs
+--------
+
+- Each public function must have a Doxygen compatible comment in the header
+- Use C-style comments without additional asterisks
+- Indent correctly.
+- Comments should be grammatically correct, e.g. sentences start with uppercase
+ letters and end with a full stop.
+- Be concise.
+
+Example:
+
+ /**
+ This function makes tea.
+
+ @param cups number of cups.
+ @result tea
+ */
+ Tea makeTea( int cups );
+
+
+Class and File Names
+--------------------
+
+- Put classes in files, which have the same name as the class, but only
+ lower-case letters.
+- Designer-generated files should have a name classname_base.ui and shoul
+ contain a class called ClassnameBase.
+- Classes inheriting from designer-generated classes have the same name as the
+ generated class, but without the Base suffix.
+
+Class and Variable Names
+------------------------
+
+- For class, variable, function names seperate multiple words by upper-casing
+ the words precedeed by other words.
+- Class names start with an upper-case letter.
+- Function names start with a lower-case letter.
+- Variable names start with a lower-case letter.
+- Member variables of a class start with "m" followed by an upper-case letter.