This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dev:dg_code_style_guide [2017/09/13 08:48] – [Naming] deva | dev:dg_code_style_guide [2024/07/26 10:46] (current) – [Classes] deva | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| | **//Code is written once by one person but read many times by many people.//** | | | **//Code is written once by one person but read many times by many people.//** | | ||
| - | What this essentially boils down to is; don't make syntactic short-cuts that makes it easier to write the code if it makes it harder to read the the code. | + | What this essentially boils down to is; don't make syntactic short-cuts that makes it easier to write the code if it makes it harder to read the code. |
| Always write comments to logical blocks in the code that explains for example what a for loop does or how a couple of function calls interact. | Always write comments to logical blocks in the code that explains for example what a for loop does or how a couple of function calls interact. | ||
| Line 15: | Line 15: | ||
| =====Curly Braces===== | =====Curly Braces===== | ||
| Use [[https:// | Use [[https:// | ||
| - | This basically boils down to 'curly braces always on a new line' | + | This basically boils down to 'curly braces always on a new line': |
| <code c++> | <code c++> | ||
| namespace Foo | namespace Foo | ||
| Line 122: | Line 122: | ||
| }; | }; | ||
| </ | </ | ||
| + | |||
| + | Member variables should always be initialized in the header file, and should use the curly-brace notation: | ||
| + | <code c++> | ||
| + | class MyClass | ||
| + | { | ||
| + | private: | ||
| + | int some_member_variable{}; | ||
| + | int start_position{42}; | ||
| + | static constexpr int step_size{2}; | ||
| + | std:: | ||
| + | }; | ||
| + | </ | ||
| + | |||
| =====Pointers and References===== | =====Pointers and References===== | ||
| Pointer stars and reference ampersands must be placed to the left without space after the type: | Pointer stars and reference ampersands must be placed to the left without space after the type: | ||
| Line 234: | Line 247: | ||
| // | // | ||
| <code c++> | <code c++> | ||
| - | # | + | # |
| </ | </ | ||
| Line 263: | Line 276: | ||
| //! This is a method. | //! This is a method. | ||
| //! \param foo The foo argument is an integer. | //! \param foo The foo argument is an integer. | ||
| - | //! \param bar The bar argument is a boolan. | + | //! \param bar The bar argument is a boolean. |
| //! \return This method returns a float. | //! \return This method returns a float. | ||
| float method(int foo, bool bar); | float method(int foo, bool bar); | ||