Reddick-Namenskonvention
# Reddick-Namenskonvention

Die Reddick-Namenskonvention wurde 1992 erstmals in vielen Büchern und Fachmagazinen erwähnt und ist für viele Programmierer eine Anleitung für die Namensgebung von Variablen. Durch die Konvention ist es sehr leicht für andere Programmierer die Bedeutung der Variable schon beim Lesen zu verstehen. Als Beispiel für die Notwendigkeit seien Variablen wie x, i, i1 genannt, deren Bedeutung aus dem Namen nicht hervorgeht und deshalb aus dem Kontext gezogen werden muss.

Die Leszynski-Namenskonvention (oder LNC) ist eine Variante, veröffentlicht durch Stan Leszynski speziell für den Einsatz bei der Entwicklung für Microsoft Access. Obwohl LNC heute oft in der Microsoft Access-Community genutzt wird und Standard in Visual Basic-Programmierung ist, ist sie nicht weit verbreitet in anderen Programmiersprachen.

## Erklärung

Für die Namensgebung von Variablen gibt es vier Bausteine

[Präfix] [Typkürzel] [Basisname[Suffix]]

Erklärung

| Tag | Bedeutung |
| - | - |
| Präfix | ergänzt das Typkürzel um zusätzliche Infos, es wird in Kleinbuchstaben angegeben. |
| Typkürzel | im englischen kurz mit „Tag“ bezeichnet besteht aus einer kurzen Folge von Buchstaben, die den Typ des Objektes anzeigen. Für den Typkürzel werden Kleinbuchstaben verwendet |
| BasisName | ist der sonst übliche Variablenname wie "ErrechneteZahl" - Wobei hier Binnenmajuskel zur Anwendung kommen. |
| Suffix | beinhaltet nochmal zusätzliche Informationen zu der Variable zum Beispiel Min, Max, Cnt(Count), Lim, First, Last |

### Auswahl möglicher Typkürzel

| Tag | Object Type |
| - | - |
| bool {f, bln} | Boolean |
| byte {byt} | Byte |
| cur | Currency |
| date {dtm} | Date |
| dec | Decimal |
| dbl | Double |
| int | Integer |
| lng | Long |
| obj | Object |
| sng | Single |
| str | String |
| stf | String (fixed length) |
| var | Variant |

### Präfixe

Dem Präfix kann immer noch ein Indizie davor und danach angefügt werden:

| Präfix | Objekttype |
| - | - |
| (keinen) | Lokale Variable, Lebenszeit auf Prozedurebene |
| s | Lokale (statische) Variable, Lebenszeit auf Programmebene, wird mit „Static“ deklariert |
| m | Private (modulare) Variable, Lebenszeit auf Programmebene, wird mit „Private“ deklariert |
| g | Public (globale) Variabel, Lebensdauer auf Programmebene, wird mit „Public“ deklariert |
| c | Zähler (Count) eines Objekttyps |
| h | Zeiger (Handle) auf ein Windows-Objekt |
| r | Parameter, der „By References“ übergeben wurde |

zum Beispiel

* gintKundenID – global Integer "KundenID"
* mintBenutzerName – privat (modular) Integer "BenutzerName"

## Beispiele

Einfache:

* boolEingabe – Boolean
* strName
* objWikiPedia

Mit Tag:

* strfName, strfTelefon, strfAnschrift, strfPlzOrt für ein Formular zum Beispiel

Mit Suffix

* strName1, strName2, ...
* strInputCount (Count ist hier das Suffix)
