Development guide
Flow Control
If the code following a case label is not terminated by break, the execution continues after the next case label. This means that poorly tested code can be erroneous yet still seem to work.
goto breaks the control flow and can lead to code that is difficult to comprehend. In addition, there are limitations for when goto can be used. For example, it is not permitted to jump past a statement that initializes a local object having a destructor.
Each loop construct has a specific usage. A for loop is used only when the loop variable is increased by a constant amount for each iteration and when the termination of the loop is determined by a constant expression. In other cases, while or do while should be used. When the terminating condition can be evaluated at the beginning of the loop, while should be used; do while is used when the terminating condition is best evaluated at the end of the loop.
Instead of saying that x is in the interval x >= 23 and x <= 42, use the limits x >= 23 and x < 43. The following important claims then apply: the size of the interval between the limits is the difference between the limits; the limits are equal if the interval is empty. the upper limit is never less than the lower limit. Being consistent in this regard helps to avoid many difficult bugs.