This page describes our coding conventions.
Platform Specific Code
Platform specific code should use the predominant coding convention
for that platform. Basically, DirectShow code should look familar to a
Windows coder, and QuickTime code should look familiar to an Apple
coder. Otherwise, we follow the conventions described here.
Whitespace
Our whitespace rules are defined by the following astyle transform:
astyle --style=bsd --min-conditional-indent=0 --break-blocks
--pad-oper --pad-header --unpad-paren
--align-pointer=name
--indent-preprocessor --indent-labels "$@"
This boils down to:
- Don’t use tabs.
- Braces on their own line
- Spaces around operators (
+
,-
,*
,/
,|
, etc.) and
after control statements (if
,while
, etc.)
Naming
- Most identifiers should be lowercase_delimited
- Macros and enum values should be UPPERCASE_DELIMITED
- Typedefs should be postfixed with
_t
, but … - Prefer to use types directly rather than type.
Inconsistencies
The code is not always consistent with these conventions, for
historical reasons. These inconsistencies should be resolved, not
propagated. i.e., if you find something that’s named inconsistently,
submit a patch fixing it. Some identifiers conform to these
conventions but are spelled funny (e.g. de_quantize
) as a result of some
automatic transforms. You can submit patches fixing these as well.