Der Epina Delphi-Kurs bietet Ihnen eine allgemeine Einführung in das Programmieren mit Delphi/Pascal. Mit vielen ausgearbeiteten Beispielen können Sie direkt in die Delphi-Programmierung einsteigen. Mehr dazu finden Sie hier....

Deklaration von Konstanten

Nach dem Programm- bzw. Unterprogrammnamen folgt die Definition der verwendeten Konstanten, die mit dem Schlüsselwort const eingeleitet wird. Der Bereich der Konstantendeklaration gilt so lange bis ein anderer Bereich definiert wird (z.B. die Deklaration der Variablen) oder der (Unter-)Programmkörper beginnt. Konstanten werden formal folgendermaßen deklariert:

Name = Konstante;

Als Konstante können beliebige einfache Datentypen verwendet werden. Für zusammengesetzte Konstanten (wie z.B. Records gelten etwas andere Regeln).

Für die Konstantendefinition haben sich zwei Stilregeln eingebürgert, die die Lesbarkeit eines Programms stark verbessern: 1) Pro Konstante wird eine Programmzeile verwendet. 2) Die Bezeichner der Konstanten werden mit Großbuchstaben geschrieben. Damit kann man an beliebigen Stellen des Programms immer erkennen, ob ein Bezeichner einer Konstanten entspricht oder einer Variablen.

Beispiel:
const
  NAME = 'Lohninger';
  MAX_MONTH = 12;      // highest month number
  SPEC_LENGTH = 512;   // length of spectral record

Persönl. Anmerkung: Obwohl es dem Compiler egal ist wie Konstanten oder Variablen bezeichnet werden, habe ich mir zur Gewohnheit gemacht, bei Konstantennamen gegebenenfalls Underscores (Unterstrichzeichen _) einzufügen, um die Lesbarkeit zu verbessern. Bei Variablen verwende ich Klein- und Großbuchstaben um die einzelnen Teile eines Variablennamens besser lesen zu können (z.B. SPEC_LENGTH für Konstante, oder LastBirthDay für eine Variable).

Warum überhaupt Konstanten?

Betrachtet man Konstanten aus logischer Sicht, so sind sie überflüssig, da man jedes Vorkommen einer Konstanten im Programmcode durch ihren Wert ersetzen kann. Allerdings haben Konstanten folgende Vorteile:

  • Verbesserung der Wartungsfreundlichkeit eines Programms: Muss ein konstanter Wert geändert werden, so reicht bei Verwendung von Konstanten die Modifikation einer einzigen Konstantendefinition.
  • Verbesserung der Lesbarkeit: Der Bezeichner MAX_LENGTH sagt einfach mehr aus als etwa die anonyme Zahl 150.
  • Bessere Gliederung: Die Definition der Konstanten stehen an wohldefinierter Stelle und sind deshalb leichter zu finden. Eventuell erzeugt man sogar eine eigene Unit, in der alle globalen Konstanten (und Typen und Variablen) definiert sind.

Persönl. Anmerkung: Manchmal liest man in Lehrbüchern oder Skripten die Forderung, dass in einem Programm nur die Ziffern 0 und 1 vorkommen dürften und alle anderen konstanten Werte eben als Konstante deklariert sein müssten. Ich halte diese Forderung zwar im Prinzip richtig, allerdings sehe ich sie für die Praxis als überzogen an. Die Erfüllung dieser Forderung hängt natürlich vom Umfeld ab. Bei einem großen Programm mit 100000en von Zeilen und mehreren Programmierern ist eine solche Vorgangsweise sinnvoll, bei kleinen Quick-and-Dirty-Programmen für den Hausgebrauch nicht.

Last Update: 2008-09-09