Difference between revisions of "Cpp Coding Standards/DESIGN"
From Apache OpenOffice Wiki
m (formatting) |
m (Cpp Coding Standards/Design moved to Cpp Coding Standards/DESIGN: simplicity) |
(No difference)
|
Revision as of 10:52, 13 April 2007
Contents
Design (DESIGN) - Summary
General design rules.
No Cyclic Dependencies (CyclDep)
Avoid cyclic dependencies. -> Details
Dependency Inversion Principle (DIP)
Use the dependency inversion principle. Prefer to define functionality in abstract interfaces and to inherit from them. Avoid state in abstract classes. -> Details
No Premature Generalization (PremGen)
As a rule of thumb, don't generalize before the second occurrence and no later than the third. -> Details
Global Data Initialization (GlobInit)
Avoid cross module dependencies when initializing global data. Never let a global object's initialization depend on another global object in a different compilation unit. -> Details
Avoid Global Data (NoGlob)
Minimize the use of global data. For objects in global scope that are meant to be local to the implementation of a class use an anonymous namespace. -> Details