aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--code-style-example/style.cpp15
-rw-r--r--code-style-example/style.h58
-rw-r--r--contributing.md33
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.