You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.3 KiB
101 lines
2.3 KiB
15 years ago
|
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.
|