[Bf-committers] code style proposal: switch statements

Campbell Barton ideasman42 at gmail.com
Sun Jul 14 05:44:58 CEST 2013


Yesterday I went over missing break's in switch statements and found a
surprising number of real bugs/errors in code (over 10), some rather
bad errors like boids 'random' behavior option, falling through to
'average'.

We didn't yet decide on details for switch() statements in our current
style-code [1], but I think doing so would help avoid more mistakes
like this as well as making code easier to follow.

Most simple errors are not hard to spot errors but some code grows
over time - we had a mistake with a switch nested inside a switch for
eg.

Note that this proposal is mostly what we do now anyway, so no large
code cleanup commits needed for this and proposal is minimal.


Proposal:

- be consistent with placement of break, indent and include within braces.

- intentional fall-through after statements in a case _must_ be commented.
  (however successive case statements with no code can go without comments).


Heres an image:[2] and text:[3] of what I think is reasonable and an
example of whats not below.

For an example of mixed up 'break' placement in current code, see
BKE_object_minmax in object.c


[1]: http://wiki.blender.org/index.php/Dev:Doc/CodeStyle
[2]: http://www.graphicall.org/ftp/ideasman42/bad_switch_example.png
[3]: http://www.graphicall.org/ftp/ideasman42/bad_switch_example.c

-- 
- Campbell


More information about the Bf-committers mailing list