Konventionen

Home
 

 

Diese Konventionen gelten für Module ab Version 2.08

Variablen und Module

Klassennamen: cKlasse
Modulnamen: vbxFunktion oder mod... (Dateinamen ohne Präfix)

Präfix für die Verfügbarkeit von Variablen
g Global    Bsp. gintCount
m Klassenebene (Member)    Bsp. mstrTitle
p private Modulvariablen (nur in Ausnahmefällen verwenden)    Bsp. plngLength
c Konstante    Bsp. cintShowMessage


Präfix für den Datentyp von Variablen
var Variant
bol Boolean
byt Byte
int Integer
lng Long
sng Single
dbl Double
cur Währung
dat Datum / Zeit
str String
obj Objekt
col Collection
typ (udt) Benutzerdefinierte Struktur                      

Für alle Variablen gilt: aussagekräftige Bezeichnungen verwenden, jedoch nicht länger als 20 Zeichen.

In Prozeduren sind kurze Namen erlaubt:
x, y, z, i - Schleifenzähler
p, p1-pN - Positionszeiger
tmp - Temporäre Variable (For Each tmp in) meistens Variant

Globale Objekte, die sehr oft gebraucht werden, können auch kurze Namen erhalten, die Anzahl sollte sich jedoch in Grenzen halten.
    Bsp. ini, fso

Das Deklarieren globaler Variablen sollte nach Möglichkeit vermieden werden. Es emfiehlt sich, für das Projekt eine globale Basisklasse zu erstellen, die alle Einstellungen, die globale Verfügbarkeit voraussetzen, beinhaltet. Somit können auch eindeutige Namen ohne Präfixe verwendet werden, ohne Namenskonflikte zu befürchten.

Variablen in Prozeduren haben keinen Präfix der auf die Verfügbarkeit hindeutet.
Bsp. Dim objFolder as Folder

Numerische Konstanten werden je nach Verwendungszweck in Auflistungen (Enum) zusamengefasst, um die Auswahl bei Übergabe und Rückgabe (Intellisense) zu vereinfachen.

API-Konstanten, Funktionsparameter und Strukturvariablen werden der Original-Dokumentation entsprechend benannt. Konstanten werden in Auflistungen zusammengefasst.
    Bsp.
    Private Type SHFILEOPSTRUCT
        hWnd As Long
        wFunc As Long
        pFrom As String
        pTo As String
        fFlags As Integer
        fAnyOperationsAborted As Long
        hNameMappings As Long
        lpszProgressTitle As String
    End Type

API-Funktionen werden vorzugsweise in allgemein gültigen Modulen gekapselt und mit einer VB-tauglichen Oberfläche und Fehlerbehandlung versehen.

Nutzung der Module / Versionskompatibilität

Aufbau

Allgemeingültige Module (VBX-Module) sind in sich gekapselte Module, die je nach Art eine bestimmte Funktionalität zur Verfügung stellen.
Die Module benötigen keine globalen Variablen oder Objekte mit Ausnahme von fso, Abhängigkeiten zu anderen Modulen werden vermieden.

Verwendung

Diese Module werden gemeinsam genutzt. Deswegen sind Änderungen, die die Versionskompatibilität beeinträchtigen nur in zwingenden Fällen vorzunehmen und explizit in der Versionsgeschichte zu vermerken.
Ausgelagerte Kopien von Modulen werden vermieden.
Um Versionskonflikte zu vermeiden, jedoch trotzdem eine gewisse Flexibilität zu gewährleisten, sollten Optionen vorzugsweise als additive Flags gespeichert bzw. übergeben werden.
Erweiterungen von Methoden sollte über Spiegelung/Überlagerung erfolgen, wobei die Prozedurnamen als Erweiterung einen großen Buchstaben oder eine Abkürzung der Erweiterung erhalten:
Bsp. Item -> ItemA oder ItemNr

Als Mindestvoraussetzung für alle Tests wird Win98SE bzw. Win2k mit IE5 festgelegt.

     


© 2002-2007 VBX System