Debugging deines Codes in Thunkable

Lerne Tipps zum Debuggen deines Codes und zur Fehlerbehebung in Thunkable

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".

Grace Hopper

PROGRAMMIERTIPPS

Hund schaut auf Computer

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. 

Schokostückchen

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,

  1. Codiere die Aktion für die erste Schaltfläche
  2. Teste dann, ob es funktioniert.
  3. Gehe auf die zweite Schaltfläche
  4. 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.

5 Tasten in einer App

VERSIONSKONTROLLE

es begann als Fehler

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:

  1. Klicke auf die 3 Punkte in der oberen rechten Ecke des Bildschirms
  2. Wähle "Projekt duplizieren / Duplicate Project" aus dem Dropdown-Menü.
  3. Benenne deine gespeicherten Kopien um, um den Überblick zu behalten. Die Nummerierung v1, v2 funktioniert gut.
Screenshot des Menüs "Thunkable Duplicate Project

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".

Bildschirm öffnet Block wird zusammengeklappt
expandierender kollabierter 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

zusammengebrochener Block

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.

deaktivierter Alarmblock

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.

Kommentarfeld über dem Codeblock

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.

stilisiertes A, AmeriCorps-Logo in Marineblau

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.

Code für Warnungen

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

  1. Gehe zum Designer
  2. ändere die X- und Y-Werte des Sprites
  3. 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.

Spiel mit Sprites

AKTIVITÄT 1: DEN FEHLER BEHEBEN

Geschätzte Zeit: 20 Minuten

Behebung von Fehlern in der Timer App

Diese Timer App hat ein paar Fehler in sich.

  1. Kopiere das Projekt.
  2. Zeig eine Vorschau der App, um sie auszuführen.
  3. Try pressing Start without typing anything into the textbox. What happens?
  4. Versuche, 0 oder eine negative Zahl für die Anzahl der Sekunden einzugeben. Was passiert?
  5. Behebe die Fehler mit bedingten Blöcken!

AKTIVITÄT 2: EINEN KOMMENTAR HINZUFÜGEN

Geschätzte Zeit: 10 Minuten

Füge einen Kommentar zu deinem Thunkable Projekt hinzu

Wenn du deine letzte App für Technovation gestartet hast, verwende diese App für diese Aktivität. Andernfalls kannst du die Timer-App aus Aktivität 1 verwenden.

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...

Foto mit freundlicher Genehmigung der DKJS Franziska Schmitt
Kodieren ist nicht einfach.
Die Chancen stehen gut, dass deine App zu Beginn nicht perfekt funktioniert!
Code in kleinen Stücken.
Feiere, wenn du einen kleinen Teil deiner App zum Laufen gebracht hast.
Mache Pausen! Manchmal reicht es schon, wenn du dich für ein paar Minuten von deinem Computer entfernst, um eine neue Perspektive zu gewinnen.

Ü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.