-
Notifications
You must be signed in to change notification settings - Fork 0
oF code style
- 4 spaces are used for indentation
- Spaces, not tabs!
-
Declare each variable on a separate line
-
Avoid short (e.g. “a”, “rbarr”, “nughdeget”) names whenever possible
-
Single character variable names are only okay for counters and temporaries, where the purpose of the variable is obvious
-
Wait when declaring a variable until it is needed
// Wrong int a, b; char *c, *d;
// Correct int height; int width; char *nameOfThis; char *nameOfThat;
-
Variables and functions start with a lower-case letter. Each consecutive word in a variable’s name starts with an upper-case letter
-
Avoid abbreviations
// Wrong short Cntr; char ITEM_DELIM = '\t';
// Correct short counter; char itemDelimiter = '\t';
-
Classes always start with an upper-case letter. Public classes start with a ‘Q’ (QRgb). Public functions most often start with a ‘q’ (qRgb).
-
Use blank lines to group statements together where suited
-
Always use only one blank line
-
Always use a single space after a keyword and before a curly brace. // Wrong if(foo){ }
// Correct if (foo) { }
-
For pointers or references, always use a single space between the type and ‘’ or ‘&’, but no space between the ‘’ or ‘&’ and the variable name. char *x; const QString &myString; const char * const y = "hello";
-
Surround binary operators with spaces.
-
No space after a cast.
-
Avoid C-style casts when possible. // Wrong char* blockOfMemory = (char* ) malloc(data.size());
// Correct char *blockOfMemory = reinterpret_cast<char *>(malloc(data.size()));
-
As a base rule, the left curly brace goes on the same line as the start of the statement: // Wrong if (codec) { }
// Correct if (codec) { }
-
Exception: Function implementations and class declarations always have the left brace on the start of a line: static void foo(int g) { qDebug("foo: %i", g); }
class Moo { };
-
Use curly braces when the body of a conditional statement contains more than one line, and also if a single line statement is somewhat complex. // Wrong if (address.isEmpty()) { return false; }
for (int i = 0; i < 10; ++i) { qDebug("%i", i); }
// Correct if (address.isEmpty()) return false;
for (int i = 0; i < 10; ++i) qDebug("%i", i);
-
Exception 1: Use braces also if the parent statement covers several lines / wraps // Correct if (address.isEmpty() || !isValid() || !codec) { return false; }
-
Exception 2: Use braces also in if-then-else blocks where either the if-code or the else-code covers several lines // Wrong if (address.isEmpty()) return false; else { qDebug("%s", qPrintable(address)); ++it; }
// Correct if (address.isEmpty()) { return false; } else { qDebug("%s", qPrintable(address)); ++it; }
// Wrong if (a) if (b) ... else ...
// Correct if (a) { if (b) ... else ... }
-
Use curly braces when the body of a conditional statement is empty // Wrong while (a);
// Correct while (a) {}