From 1476f1ae26e4054c01f9c85bc5e66b683c155bb2 Mon Sep 17 00:00:00 2001 From: "severin.landwein" <Severin.Landwein@th-koeln.de> Date: Tue, 3 May 2022 09:22:39 +0200 Subject: [PATCH] start rework --- class_for_demonstration.cpp | 25 +++++++++++++ class_for_demonstration.h | 20 ++++++++++ code_conventions.h => example.ino | 61 ++++++------------------------- 3 files changed, 57 insertions(+), 49 deletions(-) create mode 100644 class_for_demonstration.cpp create mode 100644 class_for_demonstration.h rename code_conventions.h => example.ino (68%) diff --git a/class_for_demonstration.cpp b/class_for_demonstration.cpp new file mode 100644 index 0000000..d22b43b --- /dev/null +++ b/class_for_demonstration.cpp @@ -0,0 +1,25 @@ +#include "class_for_demonstration.h" + +#include <sys/types.h> +#include <unistd.h> + +#include <string> +#include <vector> + +#include "another_header.h" + +uint8_t ClassForDemonstration::get_member_1() { + return member_example_1; +} + +void ClassForDemonstration::set_member_1(uint8_t value) { + member_example_1 = value; +} + +void ClassForDemonstration::serial_out_object(Stream &stream) { + stream.print(get_member_1()); +} + +void ClassForDemonstration::fill_object() { + set_member_1(millis()); +} \ No newline at end of file diff --git a/class_for_demonstration.h b/class_for_demonstration.h new file mode 100644 index 0000000..be008a1 --- /dev/null +++ b/class_for_demonstration.h @@ -0,0 +1,20 @@ +#ifndef CLASS_FOR_DEMONSTRATION_H +#define CLASS_FOR_DEMONSTRATION_H + +#define KONST_TO_SHOW + +#include <sys/types.h> + +class ClassForDemonstration +{ +private: + uint8_t member_example_1; + +public: + uint8_t get_member_1() { return member_example_1; }; + void set_member_1(uint8_t aValue) { member_example_1 = aValue; }; + void serial_out_object(Stream &stream); + void fill_object(); +}; + +#endif diff --git a/code_conventions.h b/example.ino similarity index 68% rename from code_conventions.h rename to example.ino index cef0442..fcb9009 100644 --- a/code_conventions.h +++ b/example.ino @@ -27,10 +27,15 @@ * Jede Funktion/Methode soll mit einem oder mehreren Unittests getestet werden, soweit das möglich ist. * Jede Funktion/Methode soll nach Fertigstellung von einem Kollegen einem Review unterzogen werden. - Konventionen zur Anordnung - ================================= + Konventionen zur Einbindung von Bibliotheken + ============================================ + * Generell sollten Bibliotheken dort eingebunden, wo sie benötigt werden. + * Dies gilt sowohl für Header- (.h) als auch für Sourcefiles (.cpp / .c). + * Wird beispielsweise eine Bibliothek erst bei der Definition einer Funktion benötigt, so sollte die Bibliothek in der Sourcefile eingebunden werden. + * Wird die Bibliothek allerdings schon bei der Deklaration einer Funktion benötigt, so muss die Bibliothek in der Headerfile eingebunden werden. + * Die Reihenfolge von Includes wird nach dem folgenden Schema durchgeführt: - -- Eigene Headerdatei + -- Eigene Headerdatei (in der Sourcefile) -- Leerzeile -- C System Header -- Leerzeile @@ -41,34 +46,7 @@ -- Projektheader */ - -#ifndef CODE_CONVENTIONS_H -#define CODE_CONVENTIONS_H - -#define KONST_TO_SHOW - -#include "code_conventions.h" - -#include <sys/types.h> -#include <unistd.h> - -#include <string> -#include <vector> - -#include "another_header.h" - -class ClassForDemonstration -{ -private: - byte member_example_1; - byte memberExample2; - -public: - byte get_member_1() { return member_example_1; }; - byte getMember2() { return memberExample2; }; - void set_member_1(byte aValue) { member_example_1 = aValue; }; - void setMember2(byte aValue) { memberExample2 = aValue; }; -}; +#include "class_for_demonstration.h" ClassForDemonstration demo_object; @@ -79,22 +57,7 @@ void setup() void loop() { - fill_object(demo_object); - serial_out_object(Serial, demo_object); + demo_object.fill_object(); + demo_object.serial_out_object(Serial); Serial.println(); -} - -void fill_object(ClassForDemonstration &aObject) -{ - aObject.set_member_1(millis()); - aObject.setMember2(millis()); -} - -void serial_out_object(Stream &aStream, ClassForDemonstration &aObject) -{ - aStream.print(aObject.get_member_1()); - aStream.print("\t"); - aStream.print(aObject.getMember2()); -} - -#endif +} \ No newline at end of file -- GitLab