206
edits
m (update formatting) |
(major formatting improvements) |
||
Line 1: | Line 1: | ||
== 1. Use common sense == | == 1. Use common sense == | ||
These are conventions which we try to follow when writing code for ScummVM. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules. | These are conventions which we try to follow when writing code for ScummVM. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules. | ||
As such we don't follow these rules slavishly, in certain cases it is OK (and in fact favorable) to stray from them. | As such we don't follow these rules slavishly, in certain cases it is OK (and in fact favorable) to stray from them. | ||
== 2. Hugging braces == | == 2. Hugging braces == | ||
Line 10: | Line 9: | ||
Braces in your code should look like the following example: | Braces in your code should look like the following example: | ||
<pre> | |||
if (int i = 0; i < t; i++) { | if (int i = 0; i < t; i++) { | ||
[...] | [...] | ||
Line 15: | Line 15: | ||
[...] | [...] | ||
} | } | ||
class Dummy() { | class Dummy() { | ||
[...] | [...] | ||
} | } | ||
</pre> | |||
Did you see the {}'s on that? | Did you see the {}'s on that? | ||
== 3. Tab indents, with tabstop at four spaces == | == 3. Tab indents, with tabstop at four spaces == | ||
Says it all, really. | Says it all, really. | ||
== 4. Whitespaces == | == 4. Whitespaces == | ||
Conventional operators surrounded by a space character | Conventional operators surrounded by a space character | ||
<pre> | |||
a = (b + c) * d; | a = (b + c) * d; | ||
</pre> | |||
C++ reserved words separated from opening parentheses by a white space | C++ reserved words separated from opening parentheses by a white space | ||
<pre> | |||
while (true) { | while (true) { | ||
</pre> | |||
Commas followed by a white space | Commas followed by a white space | ||
<pre> | |||
someFunction(a, b, c); | someFunction(a, b, c); | ||
int d, e; | int d, e; | ||
</pre> | |||
Semicolons followed by a space character, if there is more on line | Semicolons followed by a space character, if there is more on line | ||
<pre> | |||
for (int a = 0; b++; c < d) | for (int a = 0; b++; c < d) | ||
doSomething(e); doSomething(f); // This is probably bad style anyway | doSomething(e); doSomething(f); // This is probably bad style anyway | ||
</pre> | |||
When declaring class inheritance and in a ? construct, colons should be surrounded by white space | When declaring class inheritance and in a ? construct, colons should be surrounded by white space | ||
<pre> | |||
class BusWheel : public RubberInflatable { | class BusWheel : public RubberInflatable { | ||
(isNight) ? colorMeDark() : colorMeBright(); | (isNight) ? colorMeDark() : colorMeBright(); | ||
</pre> | |||
Indentation level is not increased after namespace clause | Indentation level is not increased after namespace clause | ||
<pre> | |||
namespace Scumm { | namespace Scumm { | ||
Line 56: | Line 74: | ||
} // End of namespace Scumm | } // End of namespace Scumm | ||
</pre> | |||
== 5. Switch / Case constructs == | == 5. Switch / Case constructs == | ||
<pre> | |||
switch (cmd) { | switch (cmd) { | ||
case kSaveCmd: | case kSaveCmd: | ||
Line 70: | Line 90: | ||
Dialog::handleCommand(sender, cmd, data); | Dialog::handleCommand(sender, cmd, data); | ||
} | } | ||
</pre> | |||
== 6. Naming == | == 6. Naming == | ||
Line 75: | Line 96: | ||
Constants | Constants | ||
Basically, you have two choices: | Basically, you have two choices: | ||
<pre> | |||
kSomeKludgyConstantName // notice k prefix | kSomeKludgyConstantName // notice k prefix | ||
</pre> | |||
or | |||
or | |||
<pre> | |||
SOME_KLUDGY_CONSTANT_NAME | SOME_KLUDGY_CONSTANT_NAME | ||
</pre> | |||
Classes | Classes | ||
Mixed case starting with upper case | Mixed case starting with upper case | ||
<pre> | |||
class MeClass() { | class MeClass() { | ||
</pre> | |||
Class members | Class members | ||
_ prefixed and in mixed case (Yo! no underscore separators), starting with lowercase. | _ prefixed and in mixed case (Yo! no underscore separators), starting with lowercase. | ||
<pre> | |||
char *_someVariableName; | char *_someVariableName; | ||
</pre> | |||
Class methods | Class methods | ||
mixed case, starting with lowercase. | mixed case, starting with lowercase. | ||
<pre> | |||
void thisIsMyFancyMethod(); | void thisIsMyFancyMethod(); | ||
</pre> |
edits