REM

Aus C64-Wiki
Zur Navigation springenZur Suche springen
REM
Syntax: REM [<Bemerkungen>]
Parameter
<Bemerkungen>: beliebiger Text
Einordnung
Typ: Anweisung
Kontext: Programmstruktur
Aufgabe: Kommentieren des Programmtextes
Abkürzung: -
Token: $8f (143)
Verwandte Befehle

Anmerkung: Dieser Artikel beschreibt den BASIC-Befehl REM unter BASIC V2 des Commodore 64.

Der BASIC-Befehl REM (von englisch: remark) dient zur Angabe von Bemerkungen innerhalb von BASIC-Programmen. Dieser Befehl soll helfen den Programmcode für (andere) Programmierer verständlicher zu machen und wartbarer zu halten. Auch beim Entwickeln von Programmen hilft ein REM um Teile einer Zeile oder die ganze Zeile testweise vorübergehend auszukommentieren, z.B. um unterschiedliche Implementierungsvarianten auszuprobieren.
Der BASIC-Interpreter ignoriert alle Angaben hinter dem BASIC-Befehl REM, auch nachfolgende BASIC-Befehle in dieser Programmzeile. Zwar befindet sich dieser Befehl mit seinen Bemerkungen im Programmlisting, jedoch hat er keine Auswirkung auf das BASIC-Programm, außer dass das BASIC-Programm umfangreicher wird, mehr Speicher beansprucht und dadurch etwas langsamer abläuft (je nach Lage der Kommentare).

Man beachte, dass Großbuchstaben (im Groß/Klein-Modus) vom LIST-Befehl als BASIC-Token interpretiert werden. Aus einem

10 rem Gross/Klein

wird somit beim Listen

list

10 rem chr$ross/golein

Verhindern lässt sich dieser Effekt, indem man den Kommentar mit einem Anführungszeichen beginnt:

list 

10 rem "Gross/Klein


Allgemeines zum Kommentieren[Bearbeiten | Quelltext bearbeiten]

  • In Kommentaren sollten nicht jene Informationen stehen, die offensichtlich bereits in der Programmzeile ersichtlich sind (reine textuelle Übersetzung). Das birgt auch die Gefahr der Inkonsistenz, da Programmcode und Kommentar vielleicht nicht mehr zusammenpassen bzw. immer an mehreren Stellen "mitgeändert" werden muss.
  • Kommentare sollen zusätzliche Information anbieten, warum etwas so implementiert wurde.
  • Kommentare geben Hinweise auf Variablenbedeutung oder Ziele von Unterprogrammaufrufen (GOSUB) und Verzweigungen (GOTO), da üblicherweise die Variablennamen kurz verwendet werden bzw. Zeilennummern nicht für sich selbst sprechen.
  • Die Programmstruktur kann durch Kommentare erläutert werden, speziell bei der unübersichtlichen Nutzung von GOTO, um etwa die Bereiche von Schleifen bzw. deren Anfang, Ende und Abbruchbedingung sichtbarer zu gestalten und zu erklären.
  • Kommentare können das gesamte Programmlisting übersichtlicher gestalten, indem Programmteile, Unterprogramme etc. durch Kommentarblöcke mit entsprechenden Erklärungen getrennt sind. Auch durch entsprechend Formatierungen mit entsprechend optischer Wirkung.
  • Allgemeine Informationen zum Programm, Datum, Autor(en) und Urheberrechtliche Angaben, aber auch eine Kurzanleitung (speziell dann, wenn keine separate Anleitung existiert) sind hilfreich.

Andere Kommentarvarianten[Bearbeiten | Quelltext bearbeiten]

In gewissen Befehlskonstruktionen können Kommentare auch ohne REM angegeben werden, wobei aber von der Verwendung ohne guten Grund abzuraten ist:

  • ... GOTO Zeilennummer Kommentar, der nicht mit einer Ziffer beginnt
  • ... GOSUB Zeilennummer Kommentar, der nicht mit einer Ziffer beginnt
  • END : Kommentar
    Praktisch in Fällen, wo das Hineinlaufen des normalen Programms in ein folgendes Unterprogramm verhindert werden soll und gleichzeitig der Unterprogrammeinstieg dokumentiert sein soll. Allerdings nicht sinnvoll, wenn END als stiller Haltepunkt (vergleiche STOP) verwendet wird und ein CONT die Ausführung fortsetzen könnte.

Siehe dazu GOTO Beispiel 3 und GOSUB Kommentar ohne REM.

Beispiele[Bearbeiten | Quelltext bearbeiten]

10 REM 1. PROGRAMMZEILE - IDEE JODIGI 2006
20 PRINT "DIES IST DIE 2. PROGRAMMZEILE"
30 PRINT X;: X = X + 1: REM SCHLEIFENBEGINN, SCHLEIFENVAR.-AUSGABE OHNE ZEILENVORSCHUB
40 IF X < 5 GOTO 30: REM SCHLEIFE FORTSETZEN, BIS LIMIT ERREICHT  
50 END: REM HIER ENDET DAS HAUPTPROGRAMM

Weblinks[Bearbeiten | Quelltext bearbeiten]