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.
56 lines
2.9 KiB
56 lines
2.9 KiB
15 years ago
|
Quanta's coding style is a real mess as it was written by many persons, and
|
||
|
some had changed their style on-the-fly. ;-) From now on, if you add new code
|
||
|
to Quanta please follow the below rules:
|
||
|
|
||
|
1. Use spaces instead of tabs.
|
||
|
2. Indent with 2 spaces.
|
||
|
3. Do not put spaces around parentheses, except in one case (grouping multiple
|
||
|
expressions): if ( (A || B) && (C || D) )
|
||
|
4. Do not put spaces around "->", use: object->methodname().
|
||
|
5. No extra spaces between parameters/arguments, just after commas: method(arg1, arg2, ...)
|
||
|
6. Put spaces around =, >, <, !=, +, -, /, *: a = b * c / d
|
||
|
7. Name the member variables as m_variablename if they are not public. See #8.
|
||
|
8. Try to avoid public member variables. Write instead set/get methods. See #9.
|
||
|
9. Don't put the "get" prefix ahead of the get method. Example:
|
||
|
Variable: m_foo
|
||
|
Get method: foo()
|
||
|
Set method: setFoo()
|
||
|
10. Mention the argument names also in header files. Signals may be an exception.
|
||
|
11. Use 0L when setting a pointer to NULL.
|
||
|
12. I prefer to put the opening { in a new line, but I'm not strongly against putting
|
||
|
it in the same line as the expression, like: if (a) {
|
||
|
13. Avoid inclusions in header files. Use forward declarations instead, like:
|
||
|
Header file:
|
||
|
class Foo;
|
||
|
class Foo2{
|
||
|
Foo* m_foo;
|
||
|
}
|
||
|
Implementation file:
|
||
|
#include "foo.h"
|
||
|
14. Use .h and .cpp for file extension.
|
||
|
15. Use layouts when creating UI files, otherwise the UI components are not resized when you
|
||
|
resize the main widget, translated interfaces or when you use another widget style the
|
||
|
dialog might look bad. The simple way to do this is in Qt Designer: click on an empty space
|
||
|
and Ctrl-G. Do it first for every container style widget (boxes, frames, tabwidget tabs, etc.)
|
||
|
Try to resize the dialog after you preview it.
|
||
|
16. Make the tab order in widgets logical. Preview it and press tabs to see in which order are the
|
||
|
components focused.
|
||
|
17. 15 and 16 is valid for Kommander scripts as well.
|
||
|
18. Include the moc files in the .cpp files: use
|
||
|
#include "qobject_derivated_class_file.moc"
|
||
|
at the end of the cpp files.
|
||
|
19. Avoid the usage of .ui.h files (implementing the slots in Designer). The reasons behind this rule
|
||
|
are:
|
||
|
- the automake/autoconf framework won't detect if you make a change in the .ui.h file and the
|
||
|
file won't be recompiled if you modify it. Aside of being annoying can lead to unexpected
|
||
|
runtime and linking errors.
|
||
|
- it's nicer to edit the sources in KDevelop. ;-)
|
||
|
So instead of using .ui.h, create a derived class, and implement the slots/methods there. You can
|
||
|
still create and connect slots in Designer.
|
||
|
20. Create a new file for each (non-trivial) class.
|
||
|
21. Use forward declarations.
|
||
|
22. Put the inclusion for the class's header file as the first inclusion in the implemenetation file.
|
||
|
|
||
|
|
||
|
Last, but not least read the howto's and faq's on http://developer.kde.org
|