🏠 » Namenskonventionen » Ungarische Notation

Ungarische Notation

Die ungarische Notation ist eine Namenskonvention unter Datenbankentwicklern. Die Konvention legt eine einheitliche Namensgebung von Konstanten, Variablen, Funktionen, Methoden und anderen Objekten fest.

Die ungarische Notation stammt von dem Ungarn Charles Simonyi. Es existieren aufgrund eines Missverständnisses zwei Versionen seiner Notation.

Microsoft wandte sie zunächst in ihrer Application Group an, später auch in ihrer Systems Group. Dadurch fand die ungarische Notation ihren Weg in die MS Office und MS Windows Produkte. Durch ein Missverständnis seitens der Microsoft-Entwickler entstand eine zweite ungarische Notation.

Simonyi spricht in seinem Entwurfspapier vom "type" einer Variablen. Er meinte damit die Art der Variablen im Kontext der Anwendung. (Ein Zähler, ein Index, ein Array, eine Koordinate, usw.) Die Entwickler bei Microsoft interpretierten den "type" als den exakten Datentyp.

Heute wird die originale, ungarische Notation als "Apps Hungarian" bezeichnet, die von Microsoft abgewandelte Notation wird "Systems Hungarian" genannt. Letztere steht für den schlechten Ruf der ungarischen Notation, da eine Benennung nach dem Datentyp nichts zum Inhaltsverständnis beiträgt.

Ungarische Notation - Aufbau und Struktur

Die "Apps Hungarian", also die ungarische Notation nach Charles Simonyi, beschreibt immer den kompletten Namen einer Variablen. Der Name muss aussagekräftig sein. Datentyp und Präfix werden kleingeschrieben. Der erste Buchstabe jedes Bezeichners wird gr0ß geschrieben. Unterstriche sind zu vermeiden.

// Variablen in C
long lWert;
char chName;
double dPI

Ungarische Notation Beispiel

var idFirst: Byte; // Pascal

Diese Variable hat den Präfix i für Index. Sie hat den Datentyp d für Double. First ist der Bezeichner. Auch wenn nun die Variable idFirst vom Typ Integer ist, wird dies in der Bezeichnung nicht erwähnt. In das Array geht sie als Laufvariable ein, das Array selbst enthält Double-Werte. Für ihre Aufgabe ist es unerheblich, dass sie selbst vom Typ Integer ist.

Es existieren 16 Kürzel für die möglichen Präfixe und 18 Kürzel für die Datentypen.

In vielen Fällen reicht die Präfix-Datentyp-Kombination vollkommen aus, ein Bezeichner ist nicht immer notwendig. Wird ein Bezeichner benötigt, der die Variable an eine bestimmte Aufgabe bindet, kann ein frei gewähltes, sinnvolles Wort verwendet werden.

Aufgrund der häufig vorkommenden Verwendung immer wieder gleicher Bezeichner, existieren in der ungarischen Notation 8 fest definierte Bezeichner, die sich auf Arrays beziehen und 6 fest definierte Bezeichner, die sich nicht auf ein Array beziehen.

Vorteile der ungarischen Notation

Der Hauptvorteil der ungarischen Notation liegt in ihrer immer noch häufigen Verwendung. Obwohl die Framework Design Guidelines von Microsoft ihren Einsatz verbieten, war sie bei älteren Entwicklungsplattformen durchaus üblich. Es ist empfehlenswert sie zu erlernen. Vor allem um den Programmcode älterer Anwendungen zu verstehen.

Vorteile gegenüber der CamelCase-Notation?

Während bei der ungarischen Notation lediglich der erste Buchstabe des Bezeichners großgeschrieben wird, werden bei der CamelCase-Notation alle ersten Buchstaben der Worte großgeschrieben. Dies kann zu Verwirrungen führen. In der ungarischen Notation ist der Bezeichner durch den Großbuchstaben deutlich erkennbar.

Weiterführende Artikel