Here are collected few rules for coding this project.
Class names are CamelCase with first letter uppercase.
Ex: CrystalFp
Class methods names are CamelCase with the first letter lowercase.
Ex: addStructureBatch
There is one exception: when the function mimics some well know one like size(), clean(), serialize().
Class member variables names start with 'm' followed by CamelCase name.
Ex: mDistanceMatrix
Function arguments names start with 'a' followed by CamelCase name.
Ex: aEnergyThreshold
Constants and enumerations are all uppercase with words separated by '_'. The first letters specify the kind of constant (like: STS_ status, OPT_ option value).
Ex: OPT_GROUPING_METHOD
All the other variables are all lower case with parts separated by '_'.
Ex: max_basis_len
Global variables should be avoided, but if present their names should start with 'g' followed by CamelCase name.
Ex: gFgBranch
In case of error main should return 1.
Counters should be unsigned int. But beware of down counting for loops.
1.8.2