Difference between revisions of "Cpp Coding Standards/FDESIGN"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
m
 
(10 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 [[../FIMPL | FIMPL]] (Function Implementation).
+
''Design of functions and function prototypes.''<br>
----
+
''Items referring to code in function bodies, reside in topic [[../Function Implementation|FIMPL]] - Function Implementation.''
=== Rules ===
+
  
==== OneTask ====
+
===== One Task <span id="OneTask">(OneTask)</span> =====
Give one function only one cohesive task.
+
Give a function only one cohesive task. [[/OneTask|-> Details]]
  
==== CanonicalOperators ====
+
===== Canonical Operators <span id="CanOp">(CanOp)</span> =====
Use canonical signatures for all operator overloads. Provide canonical behavior for arithmetic operators.
+
Use canonical signatures for all operator overloads. Provide canonical behavior for arithmetic operators. [[/CanOp|-> Details]]
  
==== UnambiguousParameters ====
+
===== Unambiguous Parameters <span id="Params">(Params)</span> =====
Mark parameter intention unambiguously. Out- and inout- parameters need to be distinguished unmistakably.  
+
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]]
  
Use smart pointers as parameter type for objects on the heap, when the responsibility for deleting is unclear or transfered between caller and callee.
 
 
----
 
----
=== Related Rules ===
+
==== Related Rules ====
* [[../FIMPL#Short | FIMPL:Short]]
+
'''Short Functions''' [[../FIMPL#Short|-> FIMPL:Short]]
* [[../IFC#Consistency | IFC:Consistency]]
+
 
* [[../IFC#UnambiguousOverloads | IFC:UnambiguousOverloads]]
+
'''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

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


Personal tools