@ -57,7 +57,31 @@ _Commits_ sind Veränderungen am eventuell bereits bestehenden Code des Projekte
- aber auch sehr wortreich (__Nachteil__)
- Anwendung von _Kochrezepten_ möglich --> bestimmten Programmiermustern zur Definition von Abfolgen
-
- Deklarative Programmierung
- Beschreibung des Problems statt jedes einzelnen Handlungsschrittes --> dadruch weniger hardwarenahe
- ist oft kürzer als imperative Programmierung --> _Probleme werden auf den Punkt gebracht_
- Vorteil: Arbeiten mit mathematischen Beweisen möglich
- Prozedurale Programmierung
- Inkarnation der imperativen Programmierung
- Allgorithmus wird in Teile zerlegt
- auch vor allem am Anfang verwendet --> bot Möglichkeit einfach mit Hardware zu interagieren
- _Hat eine Mainmethode_
- Funktionen werden in festgelegter Reihenfolge abgearbeitet
- Beispiel: C
- Objektoriente Programmierung
- besitzen Klassen die als _Baupläne_ für Objekte dienen --> dadruch Kapselung von Daten und Struktur
- am _echten_ Leben orientiert
- erlaubt einfach Wiederverwendbarkeit von Code
- unabhängige Entwicklung an verschiedenen Teilen des Codes
- besser Testbarkeit (Unittests) vor allem von automatisierten Tests --> mit Hilfe kleiner Klassen/funktionsbeschränkter Klassen und isoliterter Testung
- unterstützen Polymorphie (_mehrere Ausprägungen habend_) --> erlaubt vererbte Methode aus Elternklasse mit Quellcode der Kindklasse zu überladen