This file describes the coding conventions used in Gwenview. Naming ------ Classes should be named like this: MyClass. The class MyClass should be defined in the myclass.h file and implemented in myclass.cpp. Variables and functions should be named like this: myVariable. Static and member variables are identified by a prefix (s or m), without underscore. int sStaticVariable. class MyClass { int mMemberVariable; void doSomething() { int localVariable; } }; Enum items and consts are spelled like this: const int MY_CONST_VALUE=120; enum AnEnum { ITEM1, ITEM2, ITEM3 }; Namespace --------- All code should be enclosed in the "Gwenview" namespace. Make sure the closing curly bracket of the namespace looks like this : } // namespace This avoids wondering why the curly bracket is here. Code layout ----------- Use tabs, not spaces. The opening brace follows the function/class/for/while. Insert a space after commas and after for/while keywords. void myFunction() { int v1; int v2=12; for (v1=0; v1<10; ++v1) { doSomething(v1, v2); } } class MyClass { }; If the if content is only one line long, you can place it on the same line and omit the curly braces, but DO NOT omit them if you place the content after the if. // Ok if (!data) { return; } // Ok too if (!data) return; // Bad if (!data) return; Include files ------------- Group include files in the Qt, KDE or local groups and sort them alphabetically. When writing the implementation file of a class which is a Q_OBJECT, make sure you include the .moc file, not the .h. // Qt #include #include // KDE #include #include // Local #include "aclass.h" #include "myclass.moc"