From 34eabb3de1d756ed05ff6abacf03c369b0d5c0b6 Mon Sep 17 00:00:00 2001 From: fdai7783 Date: Sun, 5 Nov 2023 13:06:17 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 7c84591..b97867e 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -90,17 +90,47 @@ _Commits_ sind Veränderungen am eventuell bereits bestehenden Code des Projekte - Möglichkeit der Generierung neuer Funktionen zur Laufzeit - nebenläufige Prozesse möglich - - Typisierte Programmiersprachen + - Typisierte Programmierung - Datentyp wird festgelegt - implizit oder explizit möglich - - Beispiel: Java, C#, Python - Nachteil: - Rücksichtnahme auf Typen --> sonst kann es zu Fehlern kommen - Vorteil: - _fail fast_ --> Compiler erkennt Fehler, werden nicht erst zur Laufzeit festgestellt - IDE-Untestützung bei Keywords + - Beispiel: Java, C#, Python + + - Typenpolare Programmierung + - Gegenteil zu Typisierten Programmierung + - Variable kann _alles_ speichern + - Vorteil: + - keine Gedanken bezüglich Datentyp notwendig --> werden automatischen konvertiert + - Nachteil: + - _knallt_ zur Laufzeit bei Fehlern --> schlecht, da Fehler erst spät bemerkt werden + + +- Prinzipien der Programmierung + - __Do's__/__SOLID__ + - S: + - Separation of concerns/Single responsibility patterns + - _One tool, one task_ -Unix + - Verteilung von Aufgaben in kleinen Teilen + + - O: + - Open closed principle + - leichte neue Funktionalität hinzufügen + - soll keine Auswirkungen außerhalb haben + + - L: + - Liskov substitution principle + - _Benutzer erlebt keine Überraschungen_ + - es passiert nix Unerwartes/der Code tut __nur__ was er auch soll bzw. was von ihm erwartet wird + + - I: + - Interface segregation principle + + - -