diff --git a/Lerntagebuch.md b/Lerntagebuch.md index e4b3462..ae22e9a 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -15,3 +15,25 @@ Für das Gruppenprojekt habe ich gelernt, an welchen wichtigen Eigenschaften ich Erfahrene Entwickler bzw. Profis besitzen Prinzipien. Diese Prinzipien können zum Beispiel das verfassen eines sauberen Codes beinhalten, der gut lesbar, testbar und wartbar ist und möglichst wenige Abhängigkeiten aufweist. --- + +## Vorlesung vom 2023.10.31 + +### Lernziel +- Definition, Vorteile und Nachteile sowie Beispiele der verschiedenen Ansätze der Programmierung kennenlernen (Imperative, deklarative, prozedurale, objektorientierte, funktionale Programmierung) +- Überblick, welche Programmierung eignet sich für welchen Zweck (Bsp. funktionale Programmierung für Berechnungen und nebenläufige Prozesse) +- Prinzipien der Programmierung, Do's und Don'ts - Solid vs. Stupid (bspw. Separation of Concern - Aufgaben verteilen in kleine Teile) +- Best Practice Vorgehensweisen abgeleitet aus den Prinzipien (z. B. KISS - Keep it Simple and Stupid, für Lesbarkeit und Einfachheit) + +### Erkenntnis +Für das Gruppenprojekt habe ich insbesondere durch die Prinzipien der Programmierung mitgenommen, dass Code simpel sein sollte, um die Lesbarkeit zu erhöhen und Fehler zu vermeiden. +Unterstützt wird dies durch die passende Auswahl von Bezeichnern, sodass der Code selbsterklärend ist. +Bei Objekten geht Kollaboration über Vererbung, vorhandene Objekte sollten verwendet werden. +Code sollte nicht zu flexibel gestaltet werden, sondern sich zunächst an die Vorgaben z. B. aus dem Lastenheft halten. +Dies vermeidet zusätzliche Fehler. + +### Wiederholung +Die Objektorientierte Programmierung sticht gegenüber anderen Programmieransätzen durch das Feature der Polymorphie heraus. +Hierdurch kann bei der Vererbung bei Klassen, die Wiederverwendbarkeit von Programmteilen gewährleistet werden. +Durch die Kommunikation zwischen den Klassen führt dies zu einer besseren Struktur. +Ebenso wird die Testbarkeit verbessert, da kleine Klassen mit beschränkten Funktionalitäten durch isolierte Funktionen einfacher getestet werden können. +Zusammengefasst kann festgehalten werden, dass bei der Objektorientierten Programmierung der Fokus auf den Objekten und ihrer Beziehung besonders vorteilhaft ist. \ No newline at end of file