|
|
@ -31,7 +31,7 @@ Grobe Analyse nach: |
|
|
|
- imperative und objektorientierte Programmiersprache |
|
|
|
- bietet Typisierung |
|
|
|
### JavaScript |
|
|
|
- imperative, funktionale, objektorientierte und funktionale Programmiersprache |
|
|
|
- imperative, funktionale und objektorientierte Programmiersprache |
|
|
|
- ist typisiert |
|
|
|
### TypeScript |
|
|
|
- imparative, funktionale und objektorientierte Sprache |
|
|
@ -41,5 +41,30 @@ Grobe Analyse nach: |
|
|
|
## 3. Programmierprinzipien |
|
|
|
|
|
|
|
### LoD |
|
|
|
-_L_aw _o_f _D_emeter |
|
|
|
|
|
|
|
**L**aw **o**f **D**emeter \ |
|
|
|
*Sprich nur zu deinen engsten Freunden* |
|
|
|
- Objekte sollen zur Verständlichkeit und Stetigkeit nur Methoden von ihnen bekannten Objekten aufrufen |
|
|
|
### DRY |
|
|
|
**D**on't **R**epeat **Y**ourself \ |
|
|
|
*Vermeide Wiederholungen* |
|
|
|
- Durch Vermeidung von Duplikationen wird spätere Modifikation erleichtert |
|
|
|
- Erhöht die Verständlichkeit |
|
|
|
### RY |
|
|
|
**R**epeat **Y**ourself \ |
|
|
|
*Wiederhole dich* |
|
|
|
- Benutzerschnittstellen sollten konsistent ähnlich aufgebaut sein |
|
|
|
- Erleichterung der Bedienung und Vermeidung von Bedienungsfehlern |
|
|
|
### DAU |
|
|
|
**D**uemmster **A**nzunehmender **U**ser |
|
|
|
- Synonyme dafür: |
|
|
|
- BDU *(**B**rain **D**ead **U**ser)* |
|
|
|
- Error -40 *(Implikation: Der Fehler sitzt -40 cm "hinter" dem Desktop, bzw vor dem Computer)* |
|
|
|
- EIFOK *(**E**rror **I**n **F**ront **O**f **K**eyboard)* |
|
|
|
- PICNIC _*(**P**roblem **I**n **C**hair **N**ot **I**n **C**omputer)* |
|
|
|
- PEBKAC *(**P**roblem **E**xists **B**etween **K**eyboard **A**nd **C**hair)* |
|
|
|
- Anwendbarkeit von Programmen sollte intuitiv sein |
|
|
|
- Verdeutlichung, dass Nutzer meist kein Hintergrundwissen zur Funktion haben und somit viele für Devs logische Ablaeufe nicht nachvollziehen koennen |
|
|
|
### SoC |
|
|
|
**S**eparation **o**f **C**oncerns \ |
|
|
|
*Aufteilung von verschiedenen Belangen in Unterprogramme/Sektionen* |
|
|
|
- Form von Abstraktion und Kompartmentisierung um Programme, Deployment und Erweiterung zu vereinfachen |