Lerne Tipps zum Debuggen deines Codes und zur Fehlerbehebung in Thunkable
Das sind die Aktivitäten für diese Lektion:
WAS IST DEBUGGING?
Debuggingist der Prozess, mit dem Programmierer/innen herausfinden, warum ihr Code nicht funktioniert, und ihn dann reparieren, damit er funktioniert.
Der Begriff Debugging stammt von Admiral Grace Hopper, einer Pionierin der Computertechnik. Sie arbeitete in den 1940er Jahren an der Harvard Universität am Mark II Computer und eine Motte blieb im Computer stecken und verhinderte, dass er funktionierte.
Um die Motte loszuwerden, sagte sie, sie würden das System "debuggen". Programmierer verwenden den Begriff heute für "Fehler in meinem Code beheben".

PROGRAMMIERTIPPS

Die Fehlersuche ist oft der frustrierendste und zeitaufwändigste Teil des Programmierens, deshalb ist es wichtig, dass du dir dafür viel Zeit nimmst!
Und auch geduldig sein!
KLEINE STÜCKE
Manchmal sind Programmierer/innen versucht, ihre gesamte App in einem Rutsch zu programmieren und sie dann zu testen.
Fallen Sie nicht auf diese Versuchung herein!!!
Wenn etwas nicht richtig funktioniert, was wahrscheinlich ist, ist es schwer herauszufinden, wo man überhaupt anfangen soll, um den Fehler zu beheben.

Unterteile den Code für deine App in kleine Abschnitte.
Bringe eine Sache zum Laufen, bevor du mit der nächsten Sache beginnst.
Programmiere ein bisschen, teste ein bisschen, bestätige, dass es funktioniert, dann programmiere noch ein bisschen mehr, teste noch ein bisschen mehr, usw.
Wenn deine App zum Beispiel 5 Schaltflächen hat, die alle unterschiedliche Funktionen haben,
- Codiere die Aktion für die erste Schaltfläche
- Teste dann, ob es funktioniert.
- Gehe auf die zweite Schaltfläche
- Wiederhole.
Es ist besser, den Code an einer Stelle zu korrigieren, als zurück zu gehen und ihn an 5 Stellen zu korrigieren, wenn es einen Fehler in deinem Code gibt.

VERSIONSKONTROLLE

Nehmen wir an, du folgst der "Small Chunks"-Regel und hast einen Teil deiner App gebaut und funktioniert.
Du fügst einen neuen Code hinzu und plötzlich funktioniert alles nicht mehr.
OH NEIN!
Du versuchst, den neuen Code zu löschen, aber deine App funktioniert immer noch nicht. Du bist dir nicht sicher, was schief gelaufen ist und wünschst dir, du hättest einen "Rückgängig"-Button.
Um solche Szenarien zu vermeiden, können Sie die Versionen deiner App speichern, während du Teile zum Laufen bringst.
Wenn du einen Fehler machst und nicht weißt, wie du ihn beheben kannst, kannst du zur letzten gespeicherten Version zurückkehren.
Außerdem kannst du die Versionskontrolle nutzen, um mit neuen Funktionen zu experimentieren, ohne dir Sorgen machen zu müssen, dass deine funktionierende App kaputt geht.
Die kostenlose Version von Thunkable hat ein Limit von 10 Projekten. Wenn du also dein Projektlimit erreichst, kannst du die ältesten Versionen löschen, bevor du eine neue Version speicherst.
Um eine Kopie deines Projekts zu erstellen:
- Klicke auf die 3 Punkte in der oberen rechten Ecke des Bildschirms
- Wähle "Projekt duplizieren / Duplicate Project" aus dem Dropdown-Menü.
- Benenne deine gespeicherten Kopien um, um den Überblick zu behalten. Die Nummerierung v1, v2 funktioniert gut.

BLÖCKE ZUSAMMENBRECHEN
Das Zusammenklappen von Blöcken ist eine Möglichkeit, deinen Code zu organisieren, wenn dein Arbeitsbereich mit Blöcken überfüllt ist.
Wenn du mit der rechten Maustaste auf einen Block klickst, siehst du eine Option, mit der du ihn einklappen kannst.
Um deine Blöcke wieder zu erweitern, klicke mit der rechten Maustaste auf sie und wähle "Expand Block".


Zusammengeklappte Blöcke komprimieren sie auf einen Balken auf deinem Bildschirm.
Sie funktionieren genauso wie normale Blöcke, sie nehmen nur weniger Platz ein. Das kann hilfreich sein, wenn du Blöcke hast, die du nicht mehr bearbeiten musst und deinen Bildschirm aufräumen willst

BLÖCKE DEAKTIVIEREN
Du kannst auch Blöcke deaktivieren.
Sie bleiben auf deinem Bildschirm, werden aber nicht in der App ausgeführt.
Mit deaktivierten Blöcken kannst du deine App ohne bestimmte Codeblöcke testen. Du kannst sie später aktivieren und sie laufen dann.
Du kannst auch Blöcke deaktivieren, die du nur zu Testzwecken verwendet hast, wie z.B. Warnmeldungen.

Wenn du Blöcke einfach aus einem Event-Handler-Block herausziehst, werden sie deaktiviert und können nicht ausgeführt werden. Da sie nicht Teil eines Ereignisses sind, werden sie auf keinen Fall jemals ausgeführt. Sie werden ausgegraut angezeigt. Du kannst sie jederzeit wieder einrasten lassen, um sie wieder zu aktivieren.
KOMMENTARE
Programmierer hinterlassen oft Kommentare in ihrem Code, um zu erklären, was er tut.
Kommentare können hilfreich sein, wenn sich andere Leute deinen Code ansehen, z. B. Teamkollegen, Mentoren und Richter.
Kommentare können auch hilfreich sein, wenn du später zu deinem Code zurückkehrst und vergessen hast, welche Teile davon funktionieren.
Um einen Kommentar hinzuzufügen, klicke mit der rechten Maustaste auf die Blöcke und wähle "Kommentar hinzufügen / Add Comment".
Danach erscheint ein Fragezeichen in der Ecke des Blocks und du kannst Text hinzufügen. Du kannst den Kommentar ansehen, indem du auf das Fragezeichen klickst.


Mentor Tipp
Beste Praktiken: Kommentare sind das Hilfreichste beim Programmieren.
Es ist schon oft vorgekommen, dass ein Programmierer etwas kodiert hat, dann schlafen gegangen ist und am nächsten Morgen zurückkam und keine Ahnung hatte, was er in der Nacht zuvor gemacht hat. Schreibe immer Kommentare!
It’s also a great way to check your knowledge, because if your coding blocks are easy to comment on then you must understand them really well! Another thing to be aware of is that <, >, =, ≤, ≥ are hard for students for the first time (and for programmers who are years into their careers). When we set a math statement to < when it should be ≤ this is called an “off by one” error and this is a problem that happens to developers with 20 years of experience 😛 It is a very popular problem so be on the lookout for that.
Die beste Art des Debuggens ist das Gummienten-Debugging! Das ist der Fall, wenn du wirklich in deinem Code feststeckst und er keinen Sinn ergibt. Du möchtest dir Zeit nehmen, um mit jemandem darüber zu sprechen, um zu sehen, ob er das Problem erkennen kann, aber leider ist niemand da! Also hast du eine treue Gummiente an deinem Schreibtisch und erklärst deinem Entenfreund das Problem laut. Du musst es aber in sehr einfachen Worten machen, damit sie es verstehen, und danach findest du das Problem selbst! Alle meine Kolleginnen und Kollegen haben Gummienten an ihren Schreibtischen und machen das ziemlich oft!
Leitfragen an die Schüler: Was glaubst du, wie lange erfahrene Programmierer brauchen, um Bugs zu beheben? Man könnte meinen, dass sie sehr schnell darin sind, aber jede große Website hat Seiten, auf denen man sehen kann, wie lange Bugs existieren(z.B. Facebook) und sie zeigen auch an, ob eine ihrer Seiten ausgefallen/kaputt ist und sie gerade debuggen(Beispiel Facebook).
Wie findest du Bugs? (viele, viele Tests!) Wie viel solltest du testen? Wie viel solltest du andere Leute testen lassen?
Woran erkennst du, dass du einen Fehler gefunden hast? Manchmal klickst du ewig auf ein Bild, um dann festzustellen, dass die Schaltfläche, auf die du eigentlich klicken solltest, unter dem Bild liegt. Ist das ein Fehler? Das ist eine Design-Entscheidung, die der App-Hersteller getroffen hat, und er denkt nicht, dass es ein Fehler ist, aber du vielleicht schon.
Mentorentipps werden durch die Unterstützung von AmeriCorps bereitgestellt.

DEBUGGING-TIPPS
WARNUNGEN UND LABELS
Du kannst Komponenten wie Warnungen und Beschriftungen verwenden, um während des Tests Informationen anzuzeigen. Sobald du die App vollständig getestet hast, kannst du sie einfach entfernen

Du fügst einen Warnung im Fenster "Blöcke", indem du in der Palette auf das + Zeichen neben "Alerts" klickst.

Setze die Warnmeldung auf die Informationen, die du verfolgen willst.
Dann verwende Alert.Show in deinem Code, um anzuzeigen, wenn ein Ereignis eintritt.
Zusätzlich zu den Meldungen kannst du auch Informationen wie den Wert einer Variablen oder die Position eines Sprites anzeigen.
Du kannst auch Labels hinzufügen, um aktuelle Informationen in deiner App anzuzeigen.
Du könntest zum Beispiel den Wert einer Variablen wissen wollen, wenn bestimmte Ereignisse eintreten, während die App läuft.
Du kannst Label.Text auf alles setzen, was du wissen möchtest, und es wird in deiner App angezeigt.

Wenn du deinen Fehler behoben hast, kannst du das Label entweder unsichtbar machen oder es ganz aus deiner App löschen.
TESTDATEN VERWENDEN
Wenn du viele Informationen in deiner App verwenden willst, kann es hilfreich sein, Testdaten zu verwenden. Testdaten sind einfachere, kleinere Datensätze, mit denen du sicherstellen kannst, dass deine App richtig funktioniert.
Angenommen, du entwickelst eine App, die Restaurants in der Nähe anzeigt. Du verwendest Google Sheets, um die Restaurantinformationen zu speichern.

Du kannst mit einem oder zwei Testrestaurants beginnen und deine App testen, um sicherzustellen, dass sie funktioniert.
Sobald es getestet ist und funktioniert, kannst du die kompletten Restaurantdaten in dein Google Sheet einfügen.
EIGENSCHAFTEN ÄNDERN
Wenn du deine App live testest, kannst du einen Eigenschaftswert im Designer ändern, während du die App ausführst, und die Auswirkungen sehen.
Manchmal kann das helfen, ein Problem aufzudecken.
Du könntest zum Beispiel ein Spiel programmieren. Die Position eines Sprites sieht für dich auf deinem Handy nicht richtig aus, wenn es läuft.
Während des Live-Tests kannst du
- Gehe zum Designer
- ändere die X- und Y-Werte des Sprites
- Die Position des Sprites auf dem Bildschirm in der laufenden App wird geändert.
Nutze dies, um die Koordinaten auf deinem Bildschirm zu testen und zu verstehen.

AKTIVITÄT 1: DEN FEHLER BEHEBEN
Behebung von Fehlern in der Timer App
- Kopiere das Projekt.
- Zeig eine Vorschau der App, um sie auszuführen.
- Try pressing Start without typing anything into the textbox. What happens?
- Versuche, 0 oder eine negative Zahl für die Anzahl der Sekunden einzugeben. Was passiert?
- Behebe die Fehler mit bedingten Blöcken!
AKTIVITÄT 2: EINEN KOMMENTAR HINZUFÜGEN
Füge einen Kommentar zu deinem Thunkable Projekt hinzu
Füge mindestens einen Kommentar zu deiner App hinzu, der erklärt, was eine Gruppe von Blöcken macht. Wähle eine Gruppe von Blöcken aus, die deiner Meinung nach am schwersten zu verstehen ist, denn diese Blöcke wären wahrscheinlich für andere, z. B. ein Teammitglied, am schwersten zu verstehen.
REFLEXION
Diese Tipps können dir helfen, wenn du mit der Programmierung deiner mobilen App für dein Technovation-Projekt beginnst.
Aber denk daran...

ÜBERPRÜFUNG DER SCHLÜSSELBEGRIFFE
- Debugging - der Prozess, den Programmierer nutzen, um herauszufinden, warum ihr Code nicht funktioniert, und ihn zu korrigieren
- Version Control - Speichern von Arbeitsversionen deiner App, wenn du Fortschritte machst
- Test data - ein einfacheres Set von Daten, mit denen du sicherstellen kannst, dass deine App richtig funktioniert
- Comments - Text, der in den Code eingefügt wird, um zu erklären, was er tut
ZUSÄTZLICHE RESSOURCEN
Hier findest du weitere Thunkable-Ressourcen zur Fehlersuche.