Okay here are the conventions for this project. macros - all caps (MY_MACRO) enum - same as macros classes - cap each word lower others (Signal) private classes - same as class with underscore or trailing _ (BasicSignal_Impl) function - lowercase with underscore (foo_bar()) methods - lowercase with underscore (m.foo_bar()) data - lowercase (m.mydata) private data - lowercase with trailing underscore (m.mydata_) Namespaces are used where possible. If namespaces are not available use a class to fake it unless that is not allowed. Format is GNU or modified GNU (indent first bracket) class MyClass { MyClass(); }