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); |