====== LU05.A12: Split in pieces ======
Erstelle ein Programm Schritt für Schritt mit Hilfe von GitHub Issues.
===== Auftrag =====
Diese Aufgabe besteht aus einem grösseren Programm, dessen Funktionalität in kleinen Stücken implementiert wird.
Dieses Vorgehen wird beim Programmieren immer dringend empfohlen.
- Um die Issues zu erhalten, trage deinen Namen ins main.py ein und ''commit'' und ''push'' \\ {{:modul:m319:learningunits:lu05:aufgaben:task1.png?600|}}
- Überprüfe dein Repo ob die Issues vorhanden sind (dauert etwa 2 Minuten, Seite aktualisieren nicht vergessen)
- Wähle einen Teil der Aufgabe aus, den du eigenständig umsetzen kannst.
- Codiere den Sourcecode für diese Teilaufgabe.
- Führe die relevanten Testfälle durch.
- Sind alle Tests erfolgreich:
* Führe einen Commit und einen Push durch.
- Sonst
* Identifiziere und korrigiere die Fehler.
* Zurück zu Schritt 3.
- Zurück zu Schritt 1
==== Issues ====
Bei dieser Aufgabe sind die einzelnen Arbeitschritte als Issues in deinem GitHub Repository festgehalten.
Mit Issues in unserem GitHub Repository können wir offene Punkte und Fehler dort verwalten, wo auch der Sourcecode ist.
{{:modul:m319:learningunits:lu05:aufgaben:issues.png?600|}}
Du kannst erledigte Issues automatisch schliessen, wenn du in der Commit Message ''resolves #n'' angibst (wobei ''n'' die Nummer des Issues auf GitHub ist).
{{:modul:m319:learningunits:lu05:aufgaben:resolves.png?600|}}
Dadurch wird der Commit mit den relevanten Issues verknüpft und geschlossen, was die Übersicht noch weiter erhöht.
{{:undefined:closed.png?600|}}
Natürlich werden die Issues erst aktualisiert, wenn du einen Push durchführst.
===== Vorgehen =====
- Akzeptiere das GitHub Classroom Assignment im Moodlekurs.
- Klone das Repository in PyCharm.
- Codiere die Programmlogik in ''main.py''.
- Teste dein Programm mit den Testfällen in ''main_test.py''.
- Führe einen Commit und einen Push durch.
=== Abgabe ===
Die Abgabe erfolgt durch den Push ins GitHub Repository.
In Moodle ist keine Abgabe vorgesehen oder möglich.
Anmerkung: Kümmere dich ich im Moment nicht zu sehr um ''if %%__%%name%%__%% == '%%__%%main%%__'%%:''.
Dieser Programmblock legt fest, welche Funktion beim Ausführen gestartet wird.
Wir werden dies im Verlauf des Moduls noch genauer betrachten.
https://github.com/templates-python/m319-lu05-a12-pieces
----
{{tag>M319-LU05}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Kevin Maurizi, Marcel Suter
Diese Aufgabe ist eine übersetzte und angepasste Aufgabe von [[https://scott3142.uk/|Scott Morgan]], verwendet unter CC BY NC SA.