Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Voraussetzung: Der Projektbericht, Testing und Packaging.

Diese Aufgaben sind gedacht zur Bearbeitung während der Präsenzübung am Dienstag. Eine Abgabe der Lösungen ist nicht vorgesehen, aber viermal im Semester muss die eigene Bearbeitung erklärt werden (und zufriedenstellend Verständnis demonstriert werden), damit das Modul abgeschlossen werden kann.

Ab hier wird am Abschlussprojekt gearbeitet — in der Übung, mit Betreuung, und mit der Möglichkeit, jederzeit zu fragen. Nutzen Sie das: Die Probleme, die Sie hier lösen, lösen Sie sonst allein.

Aufgabe 1

Bringen Sie Ihr Projekt in einen Zustand, in dem diese Befehlsfolge in einem frisch geklonten Verzeichnis durchläuft:

git clone <ihr-repo> && cd <ihr-repo>
uv sync
uv run <ihr-programm>

Das klingt trivial und ist es nicht. Typische Stolpersteine: fehlende Abhängigkeiten in der pyproject.toml, absolute Pfade, Datendateien, die nicht im Repository liegen, ein [project.scripts]-Eintrag, der auf eine Funktion zeigt, die es nicht gibt. Testen Sie es wirklich in einem neuen Verzeichnis, nicht in Ihrem Arbeitsverzeichnis.

Aufgabe 2

Schreiben Sie einen Test für den Kern Ihrer Anwendung — die Funktion oder Klasse, ohne die das Programm sinnlos wäre. Wenn dieser Test schwer zu schreiben ist, liegt das fast immer daran, dass Logik und Ein-/Ausgabe noch nicht getrennt sind. Dann ist das Trennen die eigentliche Aufgabe.

Aufgabe 3

Lassen Sie ruff check . und mypy über Ihr Projekt laufen. Beheben Sie die Meldungen oder begründen Sie in derselben Zeile, warum Sie sie unterdrücken. Legen Sie die passende Konfiguration in Ihrer pyproject.toml ab (siehe Code-Qualität).

Aufgabe 4

Formulieren Sie für Ihr Projekt eine Definition of Done: fünf bis acht Punkte, die erfüllt sein müssen, bevor Sie abgeben. Orientieren Sie sich an den Kriterien, die Sie in Übung 6, Aufgabe 4 gemeinsam erarbeitet haben, und an Der Projektbericht.

Hängen Sie die Liste sichtbar in Ihr Repository (README.md oder DESIGN.md) und haken Sie sie in den kommenden Wochen ab.

Aufgabe 5

Tauschen Sie Ihr Repository mit einer anderen Person und versuchen Sie, deren Projekt aus einem frischen Klon zum Laufen zu bringen — ausschließlich anhand der Dokumentation im Repository, ohne zu fragen. Alles, wobei Sie fragen mussten, ist eine Lücke in der Dokumentation.