Projekt:2023/TigerJython: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:
Der schriftliche Teil der Ersatzleistung besteht aus dem verfassten Quellcode inklusive einer umfassenden Dokumentation ''im Quellcode selbst''. Diese wird mithilfe von Docstring-Kommentaren in die Projektdatei geschrieben:  
Der schriftliche Teil der Ersatzleistung besteht aus dem verfassten Quellcode inklusive einer umfassenden Dokumentation ''im Quellcode selbst''. Diese wird mithilfe von Docstring-Kommentaren in die Projektdatei geschrieben:  


<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="0">
def haus(x, y, g):
def haus(x, y, g):
   """Diese Funktion zeichnet einen Kasten
   """Diese Funktion zeichnet einen Kasten
Zeile 30: Zeile 30:


Zusätzlich wird der Quelltext mit erklärenden Zeilenkommentaren ergänzt, sofern dies sinnvoll erscheint:
Zusätzlich wird der Quelltext mit erklärenden Zeilenkommentaren ergänzt, sofern dies sinnvoll erscheint:
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="0">
# Ausführen der Animation für 3600 Frames
# Ausführen der Animation für 3600 Frames
# Wir haben 3600 gewählt, weil die Figur sich dann genau zehnmal gedreht hat
# Wir haben 3600 gewählt, weil die Figur sich dann genau zehnmal gedreht hat
Zeile 36: Zeile 36:
for i in range(3600):
for i in range(3600):
   zeichneFigur()
   zeichneFigur()
   delay(30)  # 30 ms Verzögerung passt gut fpr eine flüssige Animation
   delay(30)  # 30 ms Verzögerung passt gut für eine flüssige Animation
   clear()
   clear()
   rt(1)
   rt(1)
</syntaxhighlight>
</syntaxhighlight>
Sinnvolle Stellen, die kommentiert werden sollten, sind
* komplexe Programmabschnitte, deren Funktion nicht sofort klar wird,
* besonders interessante, problematische oder sonst wie interessante Programmteile (z.B. Stellen, an denen Probleme aufgetreten sind oder an denen Kompromisse gemacht werden mussten),
* Gründe für die Wahl von Werten, wie dem Parameter von <code>delay</code> im Beispiel oben, falls der Grund für die Wahl des Wertes nicht sofort klar ist,
* ...
{{Warnung|Der ''vollständige Quelltext'' soll in dieser Art dokumentiert werden. Auch ggf. vorhandene Änderungen (siehe unten).}}
{{Info|Geht arbeitsteilig vor, um die verfügbare Zeit optimal zu nutzen. Dokumentation kann man auch am iPad schreiben.}}
=== Überarbeitung ===
Die Projekte wurden leicht überarbeitet und enthalten neben kleineren Überarbeitungen und aufgeräumter Formatierung jeweils eine Neuerung. Im Quelltext ist sie mit einem <code># NEU!</code> Kommentar versehen (ggf. etwas weiter unten im Programm):
<syntaxhighlight lang="python" line="0">
# NEU! (Die Farbe des Himmels wird abhängig von der Tageszeit gesetzt.)
# Problem 1: Die Farbe des Himmels scheint durch die Gebäude.
# Problem 2: Nachdem der Zähler "b" den Wert "10" erreicht, wird der Himmel auf einmal weiß.
</syntaxhighlight>
Die Überarbeitungen ''enthalten aber noch kleine Fehler'' (in der Regel einen, manchmal zwei). Analysiert gemeinsam die Änderungen eurer Programme und dokumentiert sie zusammen mit eurem eigenen Quellcode. Versucht gemeinsam oder Arbeitsteilig die genannten Probleme zu lösen.