|
@ -90,17 +90,47 @@ _Commits_ sind Veränderungen am eventuell bereits bestehenden Code des Projekte |
|
|
- Möglichkeit der Generierung neuer Funktionen zur Laufzeit |
|
|
- Möglichkeit der Generierung neuer Funktionen zur Laufzeit |
|
|
- nebenläufige Prozesse möglich |
|
|
- nebenläufige Prozesse möglich |
|
|
|
|
|
|
|
|
- Typisierte Programmiersprachen |
|
|
|
|
|
|
|
|
- Typisierte Programmierung |
|
|
- Datentyp wird festgelegt |
|
|
- Datentyp wird festgelegt |
|
|
- implizit oder explizit möglich |
|
|
- implizit oder explizit möglich |
|
|
- Beispiel: Java, C#, Python |
|
|
|
|
|
- Nachteil: |
|
|
- Nachteil: |
|
|
- Rücksichtnahme auf Typen --> sonst kann es zu Fehlern kommen |
|
|
- Rücksichtnahme auf Typen --> sonst kann es zu Fehlern kommen |
|
|
- Vorteil: |
|
|
- Vorteil: |
|
|
- _fail fast_ --> Compiler erkennt Fehler, werden nicht erst zur Laufzeit festgestellt |
|
|
- _fail fast_ --> Compiler erkennt Fehler, werden nicht erst zur Laufzeit festgestellt |
|
|
- IDE-Untestützung bei Keywords |
|
|
- 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|