stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Tag 359

Tag 359 von 365 · Experte · Monat 12: Meisterstücke

Rückblick: Qualität

Rückblick Qualität: Optimierung, Fehlersuche und Robustheit in einer Übung – eine kopierte Altlast wird zu einem Unterprogramm, das mittelt, Ausfälle zählt und sicher bleibt.

Lektion 22 Min. Woche 52

Das lernst du heute

  • Optimierung wiederholen
  • Fehlersuche und Robustheit kombinieren
  • Lücken erkennen

Der zweite Rückblick verbindet drei Wochen, die zusammengehören: Optimierung, Fehlersuche und Robustheit. Ein Script ist erst gut, wenn es auf den Chip passt, das Richtige tut und auch an schlechten Tagen sicher bleibt.

Optimierung

GrenzeWertwas hilft
Zeilen128select statt Sprung, Unterprogramme, Schleifen
Zeichen4096kurze Kommentare, Spielfassung
Zeichen pro Zeile90Kommentare umbrechen
Befehle pro Takt128lange Durchläufe mit einem zweiten yield teilen

Die wichtigste Regel: Kopierter Code ist der teuerste Code. Drei Räume mit derselben Logik sind ein Unterprogramm und drei Aufrufe, nicht dreimal dieselben zwanzig Zeilen.

Fehlersuche

Laute Fehler meldet das Gehäuse mit Namen und Zeile. Stille Fehler findest du mit Sonden, Testfällen und dem Simulator – und mit dem Wissen, wo sie wohnen: Sum statt Average, NaN, −inf, Celsius statt Kelvin, das vergessene j start.

Robustheit

Jeder Sensor darf fehlen. Die Frage ist nur, was dann passiert: NaN erkennen, melden, sicher bleiben. Und nach einem Neustart weiß der Chip nichts mehr – was er sich merken muss, liegt im Gerät oder in einem Logic Memory. Bei einer Heizung reicht das Gerät selbst:

lbn an HEIZUNG name On Average      # der Zustand steckt im Geraet
snan tmp an
select an tmp 0 an               # fehlt die Heizung: aus

So braucht jeder Raum kein eigenes Register für seinen Zustand, und ein Neustart übernimmt einfach, was die Heizung gerade tut.

Lücken erkennen

Nimm dir ein Script aus deiner Basis und geh es mit dieser Seite durch. Passt es mit Luft auf den Chip? Hat es einen Testfall für jeden Sensorausfall? Weißt du, was es nach einem Neustart tut? Jedes „weiß nicht“ ist eine Lücke – und ein Tag, den du noch einmal lesen solltest.

Tipp

Die Übung hat genau die drei Sorten Fehler, die in alten Scripts am häufigsten vorkommen: kopierte Blöcke, Sum bei Temperaturen und kein Wort darüber, was ohne Sensor passiert.

Übung

Aufgabe

Die alte Fassung regelt zwei Räume mit kopiertem Code und Sum. Bau sie neu: drei Räume „R1“, „R2“, „R3“ mit je Sensor(en) und Heizung gleichen Namens, an unter 18 °C, aus über 21 °C, Mittelwert aller Sensoren eines Raums. Ein Unterprogramm für alle Räume. Fehlt der Sensor eines Raums, ist seine Heizung aus, und die Anzeige „Raeume_Fehler“ zählt die Räume ohne Sensor.

Hinweise

Hinweis 1

Hauptteil: fehler auf 0, dreimal move name HASH("R…") und jal raum, dann die Anzeige.

Hinweis 2

Im Unterprogramm Average statt Sum, snan zählt den fehlenden Sensor mit.

Hinweis 3

Den Zustand liest du an der Heizung zurück, bei NaN gilt 0. Die Hysterese schaltet mit NaN von selbst aus.

Quiz

3 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

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall