From 297b41c82090be86c2c31061cee5b7c0016fd332 Mon Sep 17 00:00:00 2001 From: fdai7783 Date: Sun, 5 Nov 2023 13:59:57 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 395e6a0..a649594 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -49,6 +49,8 @@ _Commits_ sind Veränderungen am eventuell bereits bestehenden Code des Projekte ### Lernziel +#### Vorlesung und Übung + - Arten von Programmiersprachen - Imperative Programmierung - vor allem am Anfang der Programmierung stark verbreitet @@ -184,6 +186,55 @@ _Commits_ sind Veränderungen am eventuell bereits bestehenden Code des Projekte - Duplication of code: - Codeblöcke dublizieren sorgt für Änderungsanomalien - Rule of 3 --> auch _nur_ 2 Mal vorhandener Code kann Probleme verursachen! + + + - KISS: + - Keep It Simple (and) Stupid + - möglichst einachlesbaren Code schreiben --> da weniger fehleranfällig und Code wird oft gelesen + + - FCoH: + - Favor Composition over Inheritance + - bei Beziehungen von Klassen genau prüfen ob Vererbung von Nöten ist --> sonst Komposition + + - SLA: + - Single Layer of Abstraction + - Methoden sollten genutzt werden um + - entweder primitive (Rechen-)operationen durchzuführen + - oder andere Methoden aufzurufen + + - YASNI: + - You Aint't Gonna Need It + - _nichts machen was man nicht machen muss_ + - zusätzliche Fehlerquelle und Arbeit + + - IoC: + - Inversion of Control + - Dependencies am Anfang importieren + + - DI: + - Dependency Injection + - Entkoppelung von Objekten um Abhängigkeiten zu vermeiden + +#### Übung + +- Einordnung von verschienden Programmiersprachen in die obengenannten Programmierparadigmen + - Beispiel: + - Java und Python + - imperativ + - objektorient + - prozedural + - typisiert + + + + + + + + + + +