C++ Coding Standard Specification - CERN
C++ Coding Standard Specification - CERN
C++ Coding Standard Specification - CERN
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>C++</strong> <strong>Coding</strong> <strong>Standard</strong><br />
<strong>Specification</strong><br />
3 <strong>Coding</strong> Version/Issue: 1.1/5<br />
CF4<br />
All if statements should have an else clause.<br />
This makes code much more readable and reliable, by clearly showing the flow paths.<br />
The addition of a final else is particularly important in the case where you have<br />
if/else-if.<br />
Example:<br />
if (val==ThresholdMin) {<br />
statement;<br />
} else if (val==ThresholdMax) {<br />
statement;<br />
} else {<br />
statement; // handles all other (unforseen)cases<br />
}<br />
CF5<br />
Do not use goto.<br />
Use break or continue instead.<br />
This statement remains valid also in the case of nested loops, where the use of control<br />
variables can easily allow to break the loop, without using goto.<br />
Source<br />
Status<br />
CXX-67, 9. GC, 24. RC<br />
Common<br />
CF6<br />
Do not have overly complex functions.<br />
The number of possible paths through a function, which depends on the number of control<br />
flow primitives, is the main source of function complexity. Therefore you should be aware<br />
that heavy use of control flow primitives will make your code more difficult to maintain.<br />
As a rule of thumb, remember the 7±2 rule: typically methods should not be longer than 7±2<br />
statements.<br />
3.3 Object Life Cycle<br />
In this paragraph it is suggested how objects are best declared, created, initialized, copied,<br />
assigned and destroyed.<br />
3.3.1 Initialization of Variables and Constants<br />
CL1<br />
Declare variables initialised to numeric values or strings in a highly visible position; whenever<br />
possible collected them in one place.<br />
It would be very hard to maintain a code in which numeric values or strings are spread over a<br />
big file. If declaration and initialization of variable to numeric values or strings is put on the<br />
most visible position, it will be easy to locate them, and maintain.<br />
page 16<br />
FINAL