Difference between revisions of "Cpp Coding Standards/HEADERS"
From Apache OpenOffice Wiki
(→Internal Include Guards <span id="IncGuards">(IncGuards)</span>) |
|||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | + | == Header Files (HEADERS) == | |
+ | ''What to do or do not with header files.'' | ||
− | + | ===== Self Sufficient and Minimal <span id="Self">(Self)</span> ===== | |
− | + | Header files should be self sufficient and minimal. [[/Self|-> Details]] | |
− | === | + | |
− | ==== | + | ===== Include Directly <span id="IncDirect">(IncDirect)</span> ===== |
+ | Include the header files for all types you need directly, not via another file. [[/IncDirect|-> Details]] | ||
− | + | ===== Precompiled headers <span id="IncPCH">(IncPCH)</span> ===== | |
− | + | The first statement in each cxx file has to be the inclusion of the precompiled header of the module. [[/IncPCH|-> Details]] | |
− | + | ||
− | + | ||
− | + | ===== Internal Include Guards <span id="IncGuards">(IncGuards)</span> ===== | |
− | + | Use internal include guards, but don't use the external ones. [[/IncGuards|-> Details]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ===== No Entities with Linkage (NoLinkage) ===== | |
− | + | Don't define entities with linkage in header files.<br> | |
− | + | Exception: Constants. | |
− | + | [[/NoLinkage|-> Details]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ===== No using namespace (NoUsingNsp) ===== | |
− | ==== | + | Don't write "using <namespacename>" in heaer files. [[/NoUsingNsp|-> Details]] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
---- | ---- | ||
[[Category:Coding Standards]] | [[Category:Coding Standards]] |
Latest revision as of 09:22, 23 May 2007
Contents
Header Files (HEADERS)
What to do or do not with header files.
Self Sufficient and Minimal (Self)
Header files should be self sufficient and minimal. -> Details
Include Directly (IncDirect)
Include the header files for all types you need directly, not via another file. -> Details
Precompiled headers (IncPCH)
The first statement in each cxx file has to be the inclusion of the precompiled header of the module. -> Details
Internal Include Guards (IncGuards)
Use internal include guards, but don't use the external ones. -> Details
No Entities with Linkage (NoLinkage)
Don't define entities with linkage in header files.
Exception: Constants.
-> Details
No using namespace (NoUsingNsp)
Don't write "using <namespacename>" in heaer files. -> Details