Difference between revisions of "Cpp Coding Standards/FIMPL"
From Apache OpenOffice Wiki
m |
|||
Line 1: | Line 1: | ||
− | + | Topic-Id: '''FIMPL''' | |
+ | |||
Issues when implementing function bodies. | Issues when implementing function bodies. | ||
---- | ---- | ||
=== Summary === | === Summary === | ||
− | ==== | + | ==== Short Functions <span id="Short">(Short)</span> ==== |
Make functions short. | Make functions short. | ||
Consider replacing comments by function calls. Consider to flatten deep nested control structures by moving parts of them in extra functions. Consider moving complicated loop bodies into extra functions. Put repeated code snippets in an extra function. | Consider replacing comments by function calls. Consider to flatten deep nested control structures by moving parts of them in extra functions. Consider moving complicated loop bodies into extra functions. Put repeated code snippets in an extra function. | ||
− | ==== | + | [[/Short|Details]] |
+ | |||
+ | ==== No Magic Numbers <span id="MagNum">(MagNum)</span> ==== | ||
Don't use unnamed constants in your code. Give them a descriptive name. | Don't use unnamed constants in your code. Give them a descriptive name. | ||
− | ==== | + | [[/MagNum|Details]] |
+ | |||
+ | ==== Default in switch Statements <span id="DefSwitch">(DefSwitch)</span> ==== | ||
Don't just drop out of a switch statement, always provide a default case or a comment, why it is not needed. | Don't just drop out of a switch statement, always provide a default case or a comment, why it is not needed. | ||
Comment missing breaks. | Comment missing breaks. | ||
− | ==== | + | [[/DefSwitch|Details]] |
+ | |||
+ | ==== No Catch All <span id="Catch">(Catch)</span> ==== | ||
Avoid catch(...). | Avoid catch(...). | ||
+ | |||
+ | [[/Catch|Details]] | ||
+ | |||
---- | ---- | ||
=== Related Rules === | === Related Rules === | ||
− | * [[../ | + | * [[../Class Construction, Destruction and Copying#NoVirt |CLSINIT:NoVirt]] - No Virtual Calls in Constructor or Destructor |
− | * [[../ | + | * [[../Function Design#OneTask | FDESIGN:OneTask]] - One Task |
− | * [[../ | + | * [[../General Coding |GEN]] – all items |
− | * [[../ | + | * [[../Obsolete Habits#AvoidHeapAlloc |OBSOLETE:AvoidHeapAlloc]] - Avoid Allocating on the Heap |
− | * [[../ | + | * [[../Obsolete Habits#NoOldMacros |OBSOLETE:NoOldMacros]] - Avoid Outdated Macros |
− | * [[../STL#UseAlgorithms | STL:UseAlgorithms]] | + | * [[../STL#UseAlgorithms |STL:UseAlgorithms]] - Use the STL Algorithms |
− | - | ||
− | |||
---- | ---- | ||
[[Category:Coding Standards]] | [[Category:Coding Standards]] |
Revision as of 14:39, 29 November 2006
Topic-Id: FIMPL
Issues when implementing function bodies.
Summary
Short Functions (Short)
Make functions short.
Consider replacing comments by function calls. Consider to flatten deep nested control structures by moving parts of them in extra functions. Consider moving complicated loop bodies into extra functions. Put repeated code snippets in an extra function.
No Magic Numbers (MagNum)
Don't use unnamed constants in your code. Give them a descriptive name.
Default in switch Statements (DefSwitch)
Don't just drop out of a switch statement, always provide a default case or a comment, why it is not needed.
Comment missing breaks.
No Catch All (Catch)
Avoid catch(...).
Related Rules
- CLSINIT:NoVirt - No Virtual Calls in Constructor or Destructor
- FDESIGN:OneTask - One Task
- GEN – all items
- OBSOLETE:AvoidHeapAlloc - Avoid Allocating on the Heap
- OBSOLETE:NoOldMacros - Avoid Outdated Macros
- STL:UseAlgorithms - Use the STL Algorithms