libcaca-style.3caca

Langue: en

Version: 384253 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

libcaca-style - Libcaca coding style

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 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

C coding style

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

 #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);
 

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

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

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

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

 int function(int);
 

A space can be inserted after keywords such as for, while or if, but consistency with the rest of the page is encouraged:

 if(a == b)
     return;
 
 if (p == NULL)
 

Do not put parentheses around return values:

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

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

 int function(int a)
 {
     if(a & 0x84)
         return a;
 
     if(a < 0)
     {
         return -a;
     }
     else
     {
         a /= 2;
 
         switch(a)
         {
             case 0:
             case 1:
                 return -1;
                 break;
             default:
                 return a;
         }
     }
 }
 

C++ coding style

Nothing here yet.