@ -80,4 +80,23 @@ Außerdem werde ich die Programmierprinzipien KISS, FCoH, SLA, YAGNI, IOC und DI
### SLA
- kurz für Single Layer of Abstraction
- bedeutet, dass in jedem Codeabschnitt auf dem gleichen Abstraktionslevel gearbeitet werden soll
-
- praxisnäher: eine Codeeinheit hat genau eine Aufgabe, und beispielsweise nichts mit Ausgaben oder genauer Fehlerbehandlung zu tun wenn etwas berechnet wird
### YAGNI
- kurz für You Ain’t Gonna Need It
- bedeutet einfach nur, dass nichts implementiert werden soll, was nicht in den Anforderungen steht
- klingt einfach umsetzbar, wird aber leicht im Überschwung vergessen (zumindest bei mir als Testobjekt)
- ein vermutlich guter Tipp ist das Erinnern an noch zu erledingende Dinge und das Zeitfenster
### IOC
- kurz für Inversion of Control
- eine Sonderform ist DI - Dependency Injection
- bedeutet, dass der Verlauf des Programmes von der Stelle aus gesteuert werden sollte, die auch dafür zuständig ist
- diese Stelle kann dann Konfigurationen, Abhängigkeiten oder Argumente zur Steuerung übergeben
- dadurch wird der Code dynamischer
### DI
- kurz für Dependency Injection
- bedeutet einfach nur, dass Codeteile dynamischer gestaltet werden können, wenn ihnen Abhängigkeiten übergeben werden
- falls diese Codeteile die Abhängigkeiten selbst in Form von beispielsweise Objekten erzeugen, wird der Code undynamischer, abhängiger und schlechter testbar