1:Correctness, simplicity, and clarity come first
2:Make interfaces easy to use correctly and hard to use incorrectly
3:pOne entity one cohesive responsibility
4:
Const-correctness
5:Avoid macros
6:Make header files self-sufficient
7:Minimize definitional dependencies. Avoid cyclic dependencies
8:pResource Acquisition Is Initialization (RAII)
9:Smart pointers
10:
Avoid type switching; prefer polymorphism
11:
Minimize casting
12:
Don’t use C-style casts
13:
Don’t use unsafe functions
14:
Don’t use varargs (ellipsis)
else to reference