Browse Source

* Wrote the C coding style documentation.

tags/v0.99.beta14
Sam Hocevar sam 18 years ago
parent
commit
727a7396b5
1 changed files with 89 additions and 1 deletions
  1. +89
    -1
      doc/style.dox

+ 89
- 1
doc/style.dox View File

@@ -2,6 +2,94 @@

/** \page style Coding style

Code qui fait des warnings == code de porc == deux baffes dans ta gueule
\section sty1 General guidelines

A pretty safe rule of thumb is: look at what has already been done and
try to do the same.

- Tabulations should be avoided and replaced with \e eight spaces.
- Indentation is generally 4 spaces.
- Lines should wrap at most at 79 characters.
- Do not leave whitespace at the end of lines.
- Do not use multiple spaces for anything else than indentation.
- Code qui fait des warnings == code de porc == deux baffes dans ta gueule

\section sty2 C coding style

Try to use short names whenever possible (\c i for indices, \c w for width,
\c cv for canvas...). Macros are always uppercase, variable and function
names are always lowercase. Use the underscore to separate words within
names:

\code
#define BROKEN 0
#define MAX(x, y) ((x > y) ? (x) : (y))

unsigned int x, y, w, h;
char *font_name;
void frobulate_every_three_seconds(void);
\endcode

\c const is a \e suffix. It's \c char \c const \c *foo, not \c const \c char
\c *foo.

Use spaces after commas and between operators. Do not use spaces after an
opening parenthesis or before a closing one:

\code
a += 2;
b = (a * (c + d));
x = min(x1, x2, x3);
\endcode

Do not put a space between functions and the corresponding opening
parenthesis:

\code
int function(int);

if(a == b)
return;
\endcode

Do not put parentheses around return values:

\code
return a + (b & x) + d[10];
\endcode

Opening braces should be on a line of their own, aligned with the
current block. Braces are optional for one-liners:

\code
int function(int a)
{
if(a & 0x84)
return;

if(a < 0)
{
return -a;
}
else
{
a /= 2;

switch(a)
{
case 0:
case 1:
return -1;
break;
default:
return a;
}
}
}
\endcode

\section sty3 C++ coding style

Nothing here yet.

*/

Loading…
Cancel
Save