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

Tag 302 von 365 · Experte · Monat 11: Optimierung und Fehlersuche

Die Grenzen im Detail

Die drei Grenzen genau: was zu den 128 Zeilen, 90 Zeichen pro Zeile und 4096 Zeichen zählt, warum HASH in der Langform zählt und wie du Zeichen misst.

Lektion 16 Min. Woche 44

Das lernst du heute

  • Was genau zählt
  • Präprozessor und Langform
  • Zeichen messen

Die Grenzen kennst du seit Tag 5: 128 Zeilen, 90 Zeichen pro Zeile, 4096 Zeichen insgesamt. Bei kleinen Chips spielen sie keine Rolle. Bei den großen Anlagen der letzten Wochen stößt du an sie – und dann zählt jedes Detail, was genau mitgerechnet wird.

Was genau zählt

Grenzezählt mit
128 Zeilenjede Zeile: Code, Kommentar, Leerzeile, Label, define, alias
90 Zeichen pro Zeilealles in der Zeile, auch der Kommentar dahinter
4096 Zeichender gesamte Text, auch Leerzeichen, Kommentare und Zeilenumbrüche

Eine Zeile, die mit dem Kommentar 95 Zeichen hat, ist zu lang – auch wenn der Code allein nur 60 hat. Der Chip lässt sich dann nicht laden.

Präprozessor und Langform

HASH("…"), STR("…"), %1010 und $FF ersetzt der Präprozessor beim Laden durch Zahlen. Gezählt wird aber vorher, in der Langform, so wie du sie geschrieben hast:

geschriebenZeichennach dem Präprozessor
HASH("StructureHydroponicsTrayData")37-1841632400
HASH("Beet")12eine Zahl
%1111_111110255

Ein define lohnt sich deshalb schon ab der zweiten Verwendung: Die Zeile define SCHALE HASH("StructureHydroponicsTrayData") kostet einmal etwa 52 Zeichen, jede Verwendung danach spart 31.

lbns reif HASH("StructureHydroponicsTrayData") HASH("Beet") 0 Mature Average
define SCHALE HASH("StructureHydroponicsTrayData") # Hydrokultur-Gerät
lbns reif SCHALE HASH("Beet") 0 Mature Average

Zeichen messen

Der IC10-Coder auf dieser Seite zeigt Zeilen und Zeichen beim Schreiben an und markiert jede Zeile über 90 Zeichen. Im Spiel siehst du es erst, wenn der Chip den Code ablehnt. Schätzen kannst du so:

  • Eine typische Befehlszeile hat 25 bis 45 Zeichen.
  • 128 Zeilen zu je 32 Zeichen sind schon 4096 – mit deutschen Kommentaren erreichst du das Zeichenlimit fast immer vor dem Zeilenlimit.
Achtung

Jede Zeile zählt mit einem Zeilenumbruch. 100 Leerzeilen sind 100 Zeichen und 100 von 128 Zeilen – Abstände zwischen Abschnitten sind nicht kostenlos.

Tipp

Kommentare lieber über die Zeile schreiben als dahinter. Dann bleibt die Befehlszeile kurz, und eine lange Erklärung sprengt nicht die 90 Zeichen.

Schaubild

Die drei Grenzen eines Programms Zeilen 74/128 Zeichen 3990/4096 Breite 97/90 Kommentare und Leerzeilen zählen voll mit. Die längste Zeile hier ist zu breit.
Gezählt wird der Text, wie er im Editor steht – mit Kommentaren, Leerzeilen und ausgeschriebenen HASH-Aufrufen.

Übung

Aufgabe

Der Startcode funktioniert, lässt sich aber nicht laden: Drei Zeilen sind länger als 90 Zeichen. Bring jede Zeile unter 90 Zeichen, indem du die Prefab-Hashes in defines verschiebst und lange Kommentare über die Zeile setzt. Das Verhalten bleibt gleich.

Hinweise

Hinweis 1

define SCHALE HASH("StructureHydroponicsTrayData") und define ANZ HASH("StructureConsoleLED5") anlegen.

Hinweis 2

Im Rumpf SCHALE und ANZ statt der langen HASH-Aufrufe benutzen.

Hinweis 3

Kommentare hinter den Befehlen eine Zeile nach oben setzen.

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

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