Difference between revisions of "Cpp Coding Standards/FDESIGN"
From Apache OpenOffice Wiki
m (Cpp Coding Standards/Topics/FDESIGN moved to Cpp Coding Standards/Function Design: Improve Cpp_Coding_Standards structure.) |
m |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == Function Design == | + | == Function Design (FDESIGN) == |
− | Design of functions and function prototypes. Items referring to code in function bodies, reside in [[../ | + | ''Design of functions and function prototypes.''<br> |
− | + | ''Items referring to code in function bodies, reside in topic [[../Function Implementation|FIMPL]] - Function Implementation.'' | |
− | + | ||
− | + | ||
− | + | ||
− | ==== | + | ===== One Task <span id="OneTask">(OneTask)</span> ===== |
− | + | Give a function only one cohesive task. [[/OneTask|-> Details]] | |
− | ==== | + | ===== Canonical Operators <span id="CanOp">(CanOp)</span> ===== |
− | Mark parameter intention unambiguously. Out- and inout- parameters need to be distinguished unmistakably. | + | Use canonical signatures for all operator overloads. Provide canonical behavior for arithmetic operators. [[/CanOp|-> Details]] |
+ | |||
+ | ===== Unambiguous Parameters <span id="Params">(Params)</span> ===== | ||
+ | Mark parameter intention unambiguously. Out- and inout- parameters need to be distinguished unmistakably. <br> | ||
+ | Use smart pointers as parameter type for objects on the heap, when the responsibility for deleting is unclear or transfered between caller and callee. [[/Params|-> Details]] | ||
− | |||
---- | ---- | ||
− | === Related Rules === | + | ==== Related Rules ==== |
− | + | '''Short Functions''' [[../FIMPL#Short|-> FIMPL:Short]] | |
− | + | ||
− | + | '''Consistency''' [[../IFC#Consi|-> IFC:Consi]] | |
− | + | ||
− | + | '''Unambiguous Overloads''' [[../IFC#Over|->IFC:Over]] | |
---- | ---- | ||
[[Category:Coding Standards]] | [[Category:Coding Standards]] |
Latest revision as of 09:08, 23 May 2007
Contents
Function Design (FDESIGN)
Design of functions and function prototypes.
Items referring to code in function bodies, reside in topic FIMPL - Function Implementation.
One Task (OneTask)
Give a function only one cohesive task. -> Details
Canonical Operators (CanOp)
Use canonical signatures for all operator overloads. Provide canonical behavior for arithmetic operators. -> Details
Unambiguous Parameters (Params)
Mark parameter intention unambiguously. Out- and inout- parameters need to be distinguished unmistakably.
Use smart pointers as parameter type for objects on the heap, when the responsibility for deleting is unclear or transfered between caller and callee. -> Details
Related Rules
Short Functions -> FIMPL:Short
Consistency -> IFC:Consi
Unambiguous Overloads ->IFC:Over