Browse Source

Update Lerntagebuch Woche 4.md

remotes/origin/HEAD fetched-on-2023-11-27
fdai7103 1 year ago
parent
commit
9aa54ad4ee
  1. 71
      Lerntagebuch.md

71
Lerntagebuch.md

@ -13,7 +13,7 @@ Außerdem kann ich als Developer mit den gelernten vim-Befehlen vor anderen flex
## SU 02 (31.09.2023)
## SU 02 (31.10.2023)
### Lernziel ### Lernziel
- Imperative Programmierung - Imperative Programmierung
@ -39,7 +39,7 @@ Der Ablauf des Programms, also in welcher Reihenfolge alles ausgefuehrt wird, is
## SU 3 (7.9.2023)
## SU 3 (7.11.2023)
### Lernziel ### Lernziel
- Erzeugungsmuster - Erzeugungsmuster
@ -78,3 +78,70 @@ Refactoring bezeichnet die Prozedur, den Code nachhaltig zu verbessern, indem ma
oder diesen lesbarer umschreibt. Beim Refactoring wird die Funktion des originalen Codes nicht veraendert. oder diesen lesbarer umschreibt. Beim Refactoring wird die Funktion des originalen Codes nicht veraendert.
### Kritik ### Kritik
## SU 4 (14.11.2023)
### Lernziel
- Sourcecodemanagement
- Permanenter Zugang zu dem letzten Arbeitszustand
- Zugang zu verschiedenen Zuständen des Codes
- Vergleich von unteschieden
- Speichert nur die Änderungen(spart Speicherplatz)
- Navigation ist einfach
- Simple Möglichkeiten zur sicherung des Sourcecodes
- lokale Kopien
- zip archiv
- Kopien im Netz
- Zentralisierte SCM
- Vorteile
- Jeder commit ist verfügbar für alle
- wenn einer am Projekt arbeitet wissen das alle und es können keine anderen daran arbeiten
- leichte Backup und Wiederherstellung
- unendliche Ressource fürs Repository
- Nachteile
- Zentrale Instanz ist notwending
- locking verhindert paralleles Arbeiten
- Verteiltes SCM
- Vorteile
- kein zentraler Server notwendig
- mehrere remotes möglich
- funktioniert ohne permanente Netzwerkverbindung
- impliziete Backups
- offline Arbeit - eigene/lokale 'Experimente' bleiben privat
- Nachteile
- lokaler Verlauf ist nicht synchron
- kein Schutz gegen gleichzeitige Änderungen
- Git Konzept
- basiert auf Veränderungen und nicht auf Dateien
- commits sind durch SHA geschützt
- branches sind Labels für commits
- staging area (Änderungen werden gesammelt bis sich ein commit lohnt)
- Commits
- sollten klein sein um Konflikte leichter zu lösen
- Veränderungen sind leichter zu finden
- sollten clean sein
- Branches
- kommen vom initial commit
- jeder Branch hat einen bestimmten Committer
- kann unendlich lang gehen
- alle commits im Master branch müssen clean sein, weil er an den Kunden geht
### Erkenntnis
Ich kenne jetzt das Konzept von Git und werde es im Gruppenprojekt verwenden.
Außerdem weiß ich jetzt wie ein clean Commit aussieht und kann dadurch das Gruppenprojekt sauber
und übersichtlich halten.
### Wiederholung
Ein Clean Commit ist eine Commmit der nicht zu groß ist. Er sorgt außerdem nicht für Probleme
z.B. wenn man eine Methode umbenennt sollte man darauf achten, dass die Methode auch überall im Code umbenannt wird,
damit der Code weiterhin funktioniert. Wenn man das nicht macht wäre es kein clean Commit.
### Kritik
Loading…
Cancel
Save