- Separate inline headers: We allow putting inline functions in separate files, using the suffix
.inline.h. This can speed up compile times by reducing the volume of code to be compiled and reducing dependencies between headers.
- Header include guards: for new code, we prefer #pragma once because it is cleaner than the classic #include guards
We use UPPER_CASE for constants instead of kConstantName.
- namespaces the
using namespacedirective is allowed in .cc files in limited cases where it greatly reduces code volume.
- Pros: reduces code volume, less churn in "using namespace::class" directives.
- Cons: pollutes the namespace, causes conflicts, makes it more difficult to determine the type of an object