When updating the guidelines for the .hcc extension, I noticed some guidelines we might want to change/get rid of:
Variables should have the same name as their type (or a single letter abbreviation) or an extension thereof. (i.e. Particle* p)
We do not have the type Particle anymore, now BaseParticle
Sensible name more important than type in name?
All definitions should reside in source files. / Avoid returning by final function argument (for example void myFun (int a, int b, Matrix& mat) for computing mat).
Can we make an exception for performance? E.g. inline functions might be faster in some cases. Can only be done after testing the code for speed (and preferably profiling)
Use the "explicit" keyword for single argument constructors.
Does anyone here know what this means? Comes from hpGEM. Is not used in MercuryDPM yet, as far as I'm aware.
Multiple variables should not be declared on the same line; except, for the primitive data types e.g. int.
Can we also not declare int's on the same line?
Implicit test for 0 should not be used other than for boolean variables.
Test for false? Or actually 0? Meant to prevent 'if (getNumberOfParticles())', 'while(!p)' where p is a pointer, or similar if/for/while conditions.
Use // for all comments, including multi-line comments.
Remove this altogether, as we have a separate comment section?