@ -52,3 +52,18 @@ Eine IDE ist ein nützliche Sammlung an Werkzeugen, die einem die Entwicklung ve
### Wiederholung
Refactoring beschreibt eine Änderung am Code, die ihn qualitativ verbessert, ohne Funktionalität zu verändern. Das Umbenennen eine Prozedur kann beispielsweise die Lesbarkeit verbessern, ohne dass sich das Verhalten des kompilierten Programms ändert. Das Auslagern von Code-Abschnitten in kleinere Prozeduren, erfüllt den selben Zweck. Aber auch Optimierungen, wie das Umformen eines komplexen Algorithmus in einen einfacheren, der die gleiche Funktion erfüllt, fallen darunter.
## SU 04 (14.11.2023)
### Lernziel
- Source Code Management Systeme
- Zentralisiertes vs. verteiltes SCM
- Git Funktionsweise
### Erkenntnis
Source Code Management Systeme erleichtern das Verwalten von Projekten sowie deren Versionen und Änderungen. Mit solchen Systemen werden in der Regel automatisch Backups erzeugt und Änderungen festgehalten, sodass es immer möglich ist, zum letzten funktionierenden Stand des Projekts - oder zu jedem anderen Stand - zurückzukehren. Auch das Zusammenführen verschiedener Änderungen ist eine Funktion von SCMs, wodurch die gemeinsame Arbeit und die gleichzeitige Arbeit an unterschiedlichen Features erleichtert wird.
### Wiederholung
Git ist ein verteiltes SCM System, bei dem das festhalten von Änderungen im vordergrund steht. Änderungen werden in Form von 'Commits' gespeichert, die immer die Veränderungen von einem Stand des Projekts zu einem anderen beschreiben. Dadurch werden Änderungen einfach zu verwalten, zusammenzuführen oder auch zu verwerfen. Das Aufbauen verschiedener unabhängiger Änderungen kann gleichzeitig auf verschiedenen 'Branches' stattfinden, welche mit ihren jeweiligen Änderungen relativ einfach wieder vereint werden können.