Changes: Tell QtCreator about license template file
[qtcontacts-tracker:hasselmms-qtcontacts-tracker.git] / HACKING
1 * Include module header first to make sure it is self-contained,
2   e.g. foo.cpp should have foo.h has first include directive.
3
4 * Field names are prefixed with "m_", e.g. "m_fooBar".
5   Only exception is the private implementation field, which is called "d".
6
7 * Private implementation class use the "Data" suffix, e.g. "FooBarData".
8
9 * Use implicit sharing carefully, use QExplicitlySharedDataPointer
10   for the private implementation pointer if in doubt.
11
12 * Avoid importing namespaces in header files.
13
14 * Only include a minimal set of other headers in header files.
15   Use forward declarations when possible.
16
17 * Use assignment operator to initialize variables when ever possible
18   for better readability and more importantly to get warned when
19   accidentally using an explicit constructor.
20
21 * No commits of "#if 0" code please. If the code is obsolete, just drop it:
22   We got version control. If an unit test is not proper yet, please use the
23   QSKIP() facility which does such a better job in documenting missing
24   features than "#if 0". If you still feel like adding an "#if 0" block,
25   please add a comment why that block is disabled, and call qctWarn() with
26   a good message describing the problem.