Prog. 2 Flashcards
Vorteile der Versionsverwaltung
Nachverfolgbarkeit aller Änderungen über die Zeit
Unterstützung für kollaboratives Arbeiten
Verwaltung verschiedener Projektversionen
Sicheres Backup der Dateien
Unterstützung für Branching und Merging
Was ist ein Git Repository
Ein Speicherort, der alle Dateien und kompletten Versionsverlauf eines Projektes enthält
Welche Komponente sind am Repo beteiligt
Arbeitsverzeichnig
Staging Area
Lokales Repo
Remote Repo
Wie interagieren Git Komponente untereinander?
git add zu Staging
git commit ins lokale Repo
git push ins remote Repo
Wichtige Git Commands und Auswirkungen
git init: initialisiert / erstellt Repo
git clone: Klont ein Repo
git add: Fügt Änderungen zu Staging Area hinzu
git commit: Speichert Änderungen ins Repo
git push: Überträgt Änderungen ins remote Repo
git pull: Holt Änderungen von remote Repo
Unterschied Git und GitLab
Git: Lokales Versionskontrollsystem
GitLab: Webbasierte Plattform mit zusätzlichen Funktionen
Was ist ein Merge in Git
Zusammenführen von Änderungen aus verschiedenen Branches, wenn parallele Entwicklungsstränge integriert werden sollen
Was beschreibt die Staging Area?
Bereich für Änderungen die im nächsten Commit gespeichert werden
Befehl zum Status prüfen in git
Git status
Was ist eine Exception?
Laufzeitfehler der auftritt, wenn Programm auf unerwartete Situation stößt
Wozu Try/Catch
Fangen Exceptions ab und ermöglichen Fehlerbehandlung ohne das Programm zu beenden
Unterschied checked und unchecked Exception
Checked Exceptions werden vom Compiler noch vor kompilieren des Programms gemeldet und als fehler markiet das diese behandelt werden müssen
Unchecked Exception verhindern nicht das das programm kompiliert
!!!WICHTIG!!!
In beiden Fällen stürtzt das Programm ab wenn eine Exception nicht behandelt wird! Egal ob Checked oder Unchecked!
Was ist ein Finally Block
Führt Code immer aus, unabhängig ob Exception auftritt, z.B zum freigeben von Ressourcen
Was sind die Vor- und Nachteile von zentralisiertem und lokalisiertem Exception Handling?
Zentralisiert: Einfachere Wartung aber weniger spezifische Fehlerbehandlung
Lokalisiert: Detaillierte Fehlerbehandlung, aber kann komplexer sein
Was versteht man unter defensiver Programmierung
Programmiertechnik, die darauf abzielt potentielle Fehler durch sorgfältige Überprüfung und Validierung von Eingaben und zuständen zu vermeiden
Wie müssen checked Exceptions behandelt werden?
Immer mit Try-Catch oder throws
Von welcher Klasse müssen Unchecked Exceptions erben?
RunTimeException
Wofür wird Try with Resources verwendet
Zur automatischen Freigabe von Ressourcen
Was ist ein Breakpoint
Punkt im Quellcode, an dem Ausführung pausiert wird um den Zustand der Software zu prüfen und Fehler zu finden
Komponententest
Testet einzelne Module oder Komponente der Software auf korrekte Funktion
Isolierte Teile des Codes werden getestet
Integrationstest
Prüft korrekte Zusammenarbeit mehrere Komponenten
Prüft Interaktion zwischen den Komponenten
Systemtests
Prüft Gesamtfunktion des Systems gemäß der Anforderungen
Alle Komponenten werden integriert und getestet
Prüft Gesamtverhalten des Systems
Regressionstest
Prüft, ob Änderungen in der Software ungewollte Effekte in bereits funktionierenden Teilen verursacht haben
Sicherstellung, dass bisherige Funktionalität bestehen bleibt
Unit Testing
Testmethode, bei der einzelne Module isoliert getestet werden, um erwartete Funktion sicherzustellen