Das lernst du heute
- Einstellwerte oben
- Klare Namen
- Änderungen dokumentieren
Im Kühllager läuft seit Wochen ein Script, das funktioniert. Jetzt soll die Ausschaltgrenze von 2 auf 4 °C. Du öffnest den Chip und findest sge c a 275.15. Welches Register war noch mal die Temperatur? Ist 275.15 die Grenze oder ein Umrechnungswert? Wartbarer Code beantwortet diese Fragen, bevor du sie stellst.
Einstellwerte oben
Alles, was ein Mensch je verstellen möchte, steht als define ganz oben, mit Einheit und Bedeutung im Kommentar. Grenzen, Zeiten, Bänder, Fehlwerte. Im Rumpf steht keine einzige Zahl, die man ändern wollen könnte. Wer die Grenze ändert, ändert eine Zeile und muss den Rest nicht verstehen.
Klare Namen
alias a r0 spart vier Zeichen und kostet jedes Mal Nachdenken. alias tLager r0 sagt, was drin ist. Dasselbe gilt für Geräte: Ein Gerät heißt „Kuehllager“, nicht „Sensor3“. Wenn alles, was zum Kühllager gehört, so heißt, findet man es im Spiel und im Code sofort.
Änderungen dokumentieren
Eine kurze Kopfzeile reicht: was das Script tut, welche Version, wer. Dazu ein define VERSION, das der Chip beim Start aufs Gehäuse schreibt. Dann siehst du im Spiel mit einem Blick, welche Fassung gerade läuft.
# --- Kuehllager ---
# Version 2, Dominik1199
# v2: Aus-Grenze 4 C statt 2 C (Gemuese erfror)
define VERSION 2 # Stand dieses Scripts
define EIN 281.15 # 8 C, darueber kuehlen
define AUS 277.15 # 4 C, darunter aufhoeren
Für die Liste aller Änderungen ist der Chip der falsche Ort – jede Kommentarzeile kostet Zeichen von den 4096. Notier im Script nur die letzte Änderung und ihren Grund. Die alten Fassungen liegen in deiner Bibliothek.
Aufräumen heißt: Verhalten unverändert. Lass nach dem Umbenennen und Umstellen dieselben Testfälle laufen wie vorher. Ein vertippter alias-Name fällt sofort auf, eine vertauschte Grenze nicht.
Schaubild
Übung
Aufgabe
Das Script im Startcode kühlt das Kühllager richtig, ist aber unwartbar. Räum es auf: alle Zahlen und Hashes als define mit Kommentar (keine rohe Zahl mehr im Rumpf), sprechende alias-Namen, Abschnitte. Füge define VERSION 2 hinzu und schreib die Version beim Start mit s db Setting aufs Gehäuse. Das Verhalten bleibt genau gleich.
Hinweise
Hinweis 1
Die drei rohen Hashes sind Gassensor, Wandkühler und LED-Anzeige – schreib sie als HASH("Structure…") in defines.
Hinweis 2
Auch 281.15, 277.15, 273.15 und -999 bekommen ein define.
Hinweis 3
s db Setting VERSION gehört vor das Label der Schleife.
Quiz
4 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Übung im Simulator bestanden
- Quiz mit mindestens 60 % bestanden
Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.
Fehler in dieser Lektion melden
Zum Melden bitte anmelden. Anmelden