diff options
-rw-r--r-- | code-style-example/style.cpp | 15 | ||||
-rw-r--r-- | code-style-example/style.h | 58 | ||||
-rw-r--r-- | contributing.md | 33 |
3 files changed, 106 insertions, 0 deletions
diff --git a/code-style-example/style.cpp b/code-style-example/style.cpp new file mode 100644 index 0000000..a42fca8 --- /dev/null +++ b/code-style-example/style.cpp @@ -0,0 +1,15 @@ + + +#include "style.h" + +MyClass::MyClass(int t_value) : m_value(t_value) {} + +MyClass::MyClass() { m_value = 0; } + +MyClass::~MyClass() {} + +const int MyClass::get_value() const { return m_value; } + +void MyClass::set_value(const int t_value) { m_value = t_value; } + +void MyClass::increment() { m_value += 1; } diff --git a/code-style-example/style.h b/code-style-example/style.h new file mode 100644 index 0000000..2a4022b --- /dev/null +++ b/code-style-example/style.h @@ -0,0 +1,58 @@ +/*! @file MyClass.h */ + +#ifndef MYPROJECT_MYCLASS_HPP +#define MYPROJECT_MYCLASS_HPP + +/** + * @brief example class + */ +class MyClass { + +public: + /** + * @brief example constructor + * + * @param[integer] t_value example first argument + */ + MyClass(int t_value); + + /** + * @brief constructor example + * + */ + MyClass(); + + /** + * @brief deconstuctor example + * + */ + ~MyClass(); + + /** + * @brief setter example with correct const implementation + * + * @param[const integer] t_value first argument + */ + void set_value(const int t_value); + + /** + * @brief getter example with correct const implementation + * + * @return const integer + */ + const int get_value() const; + + /** + * @brief increment member m_value + * + */ + void increment(); + +private: + /** + * @m_value basic member example + */ + int m_value; +}; + +#endif diff --git a/contributing.md b/contributing.md index 57a55b7..2d8a8cf 100644 --- a/contributing.md +++ b/contributing.md @@ -26,6 +26,39 @@ - [C++ core guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) - [Google c++ style](https://google.github.io/styleguide/cppguide.html) +```cpp +code-style-example/style.h +``` + +```cpp +code-style-example/style.cpp +``` + +```cpp +// good +class MyClass +{ +public: + void do_something(const int i); + void do_something(const std::string &str); +}; +``` + +```cpp +// instead of doing this +auto s = "Hello"; +auto x = "42"s; +auto x = 42; +auto x = 42.f; + +// Do this +std::string s = "Hello"; +std::string x = "42"s; +int x = 42; +float x = 42.f; +``` + + ## CMakeLists specific - Make sure list arguments (e.g. sources, libraries) given to commands (e.g. |