libcaca-style.3caca man page

libcaca-styleLibcaca coding style

General guidelines

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

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)

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;
        a /= 2;

            case 0:
            case 1:
                return -1;
                return a;

C++ coding style

Nothing here yet.


Sat Feb 11 2017 Version 0.99.beta19 libcaca