Rules and coding standards for the Murx project
-=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-

File names
----------

Suffix for C++ headers is hxx, for C++ files cxx. The name of the files
and the name of the class are identical in both spelling and case
sensitivity.


Name conventions
----------------

Classes are named with a leading upper-case character and for every
begin of a new word also an upper-case character.

examples: NewClass, AnotherClass


Methods are named all lower-case with an underscore (_) as word
separator.

examples: get_this(), set_that()


Special get and set methods do always begin with the prefixes get_ and
set_. If there are more than one parameter for a method, the prefix add_
is used, e.g. (class Filter):

void add_filter (std::string expression, bool ignore_case, bool negativity)


Variables follow the same convention as methods.


Headers
-------

The get- and set-methods are grouped together and then in alphabetical
order.

example:

std::string get_name ();
void        set_name (std::string);

std::string get_prename ();
void        get_prename (std::string);

...and so on...


Indenting
---------

Blocks are indented like this:

int function ()
{
}

Never indent like shown here:

int function () {
}


Paranthesis following a method or function have a leading space like
already shown above. Indentication is done via spaces with depth 4.

example:

if (...)
{
    while (...)
    {
        // do it
    }
}


Spaces
------

Be generous with spaces, but not too generous:

examples: int a = 0;
          if ((a < b) || (c > d))
          for (int i = 0; i < 10; i++)
