The following spelling schemes are used:
UpperCamelCase: Upper case at beginning and new words
lowerCamelCase: Lower case at beginning, upper case at new words
ALL_UPPER_CASE: All upper case, words separated by underscore ("_")
(!) 02.01.01: Class names: UpperCamelCase
(!) 02.01.02: Typedefs: UpperCamelCase or lowerCamelCase
(!) 02.01.03: Defines: ALL_UPPER_CASE
(!) 02.01.04: Enum values: UpperCamelCase or ALL_UPPER_CASE
(!) 02.01.05: Methods, functions, variables: lowerCamelCase
(!) 02.01.06: Private and protected member variables are preceded by an underscore ("_")
(+) 02.01.08: Use an underscore prefix ("_") for methods, macros and variables that are "semantically private", i.e. are meant for internal usage by the class and not as part of the class interface.
(+) 02.01.09: Use common speaking names for methods:
get/set for methods that get/set member variables/states.
Instead of get, the alternative of using just the variable name as method name is allowed (as in Qt).
is/has/are/should to access boolean states depending on the context.
Only use common abbreviations, keep the code readable to others, don't be creative here.
(!) 02.02.01: Do not use umlauts, whitespace or other uncommon characters in file or directory names.
(!) 02.02.02: Use identical upper/lower case spelling in header and source files.
(!) 02.02.03: Use "/" instead of "\" as path separator in include statements.
(!) 02.02.04: Use "ml" prefix for everything that links to the ML.
(+) 02.02.05: Upper and lower case prefixes: Use the lower case prefix "ml" for all C/C++ files (for example mlMyModule.h) and the upper case prefix "ML" for the rest (for example .pro, .bat, .dll, .def, etc.) and for directory names.
(!) 02.03.01: Field variables: lowerCamelCase with "Fld" at the end (register field names without "Fld").
(!) 02.03.02: Enum item tokens: ALL_UPPER_CASE in Inventor fields, UpperCamelCase in other fields
(!) 02.03.03: Module input/output fields: Prefix "in"/"out" (not "input" or "output").
(+) 02.03.04: Recommended names for input/output fields:
inImage, inObject, inMask, inLabel, inMarker, ...
outImage, outObject, ...
outNode for Inventor outputs, possibly outViewNode, outEditNode, ...
(+) 02.03.05: Apply and Update: o Use Apply for the action of applying modifications made through a module's UI (parameter fields) o Use Update for the action of updating a result from a modified input object (for example input image).
(+) 02.03.06: Auto-Apply/Update: If appropriate, provide boolean fields autoApply and enum fields updateMode with items "Off", "AutoClear" and "AutoUpdate".
(!) 02.04.01: Field titles: Use "Headline Spelling", i.e. upper case at beginning and new words (except for words as "in", "and", etc.), words separated by spaces. Add a trailing colon (":").
(!) 02.04.02: CheckBox labels: Use correct orthographic spelling, i.e. upper case only at the beginning, words separated by spaces. No trailing colon.
(!) 02.04.03: Box, tabs and other grouping labels: Same as field titles ("Headline Spelling"), but no trailing colon.
(+) 02.04.04: Use "CheckBox" instead of "Field" controls for boolean fields.
(+) 02.04.05: Avoid inconsistencies between UI labels and field names. Let MeVisLab generate the UI label from the field name, or at least choose a label that is close to the field name.
© 2021 MeVis Medical Solutions AG