Generalities
Some common rules of thumb :
- Every name exposed to Smil users shall be meaninfull.
- Avoid acronyms or shortcuts, unless they are fully known by users out of Smil development group.
- Every name exposed to users shall be directly related to some concept usually found in textbooks and vice-versa. If this isn't the case, it shall be fully explained in the function/class/.../whatever prototype.
- Avoid meaningless names. Exceptions may be for some usual loop control variables : x, y, z, i, j, k;
Naming guidelines
Functions and Methods
- function names are a sequence of words without spaces, with the first character of each word in uppercase, except the first one. E.g. :
lambdaLabel
, imageResize
, distanceEuclidean
, ...
- function name length shall be limited to something like 15-20 characters.
- The full description of what that function does shall be done in the documentation, not in the name of the function.
- If the function name is too long it can, usually, be shortened.
Macros and defines
- every character in uppercase.
- Although using macros are discouraged you should always put all caracteres in macros and defines in uppercase
Classes and Structures
To be done
Variables
To be done
Files
- C++ source filenames begin always with D;
- File extensions per directory :
src
: .cpp
- C++ source files
include
: .h
- C++ headers
include/private
: .hpp
- C++ headers