Cpp Coding Standards/FDESIGN
From Apache OpenOffice Wiki
Contents
Function Design
Design of functions and function prototypes. Items referring to code in function bodies, reside in FIMPL (Function Implementation).
Rules
OneTask
Give one function only one cohesive task.
CanonicalOperators
Use canonical signatures for all operator overloads. Provide canonical behavior for arithmetic operators.
UnambiguousParameters
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.