Nomenklatur
Ortwin
Marcus
Werner
Klaus
Andreas
Reiner
Rolf
Karl-Gerhard
V Allgemeine Regeln
* Sprache
deutsch/englisch gemischt, was kürzer ist
Tabellen außer Standardfelder ("die ersten 8") immer deutsch, sonst gemischt
dt/en
dt/en
je nach Projekt, bzw. was treffender ist
* Groß/Kleinbuchstaben
so daß es gut zu lesen ist
Es muss gut zu erkennen sein.
* Sonderzeichen
keine
keine
keine
keine
keine
* Umlaute
vermeiden
keine
keine
keine
keine
vermeiden
> Leerzeichen
keine
keine
keine
keine
keine
V Datentypen
am Ende
am Anfang
2. Zeichen vorne
Anfang
am Ende
* Anmerkungen
Ich persönlich finde es praktischer, die Variablentypen am Anfang stehen zu
haben, dann fällt nämlich der Abgleich mit der Compilerdirektive leichter.
Am Anfang und MIT v für Variablen, dann stehen die Vars und Arrays jew. zusammen, sonst zerpflückt.
bei Aufteilung in versch. Modulen/Componenten hat sich ein Modulkürzel als Präfix bewährt.
* alpha
_a20 (nur Felder)
s20
vs_
xml
_s
* text
keine
txt
t
VT_
vt_
vs
_t
* real
_R
rea
r
VR_
vr_
_r
* longint
_L
lng
l
VL_
vl_
vi
_l
* integer
nicht mehr verwendet
int
i
vi_
_i
* bool
_b
bln
b
VB_
vb_
_b
* Bild
_B
pic
VG_
vg_
vp
_g
* Datum
_D
dte
d
VD_
vd_
_d
* Zeit
_t
tme
z
VH_
vh_
vt
_h
V BLOB
_X
blb
x
VX_
vx_
_x
* Plugin-Areas (in Formularen)
plg
habe ich noch keine Regel, vielleicht wie die Befehle des Plugins plus Ergänzung, also z. Bsp.WRA_ oder DRA_
_e
V arrays
t_ für Tabelle + Typ am Ende
wie Variablen mit vorgestelltem a
a@
A…
a@_, also ar_ oder al_ oder
_a@ (_at / _as /....)
* 2D-arrays
a2@
a_, a2_ finde ich aber auch gut
_aa@
* hier. Listen
hl_@ oder hpm_@
hls
hl
hl_
_hl
* Listboxen (im Formular)
lb_@
lbx
lb
LiBo
lb_
_lbx
* Pointer
P_
P_, PL_, PB_ …
vp_, ap_
pto
_ptr
* Variablen
v@
V…
v@_
* Zählervariablen
einstellige lokale
$i;$j;$k;$n;$m
$s für TextVar
$index_l
($i ist mit dem Trackpad einfach schwer zu selektieren)
V Tabellen
Singular
Plural
plural, weil mehrere Adressen enthalten (als Bsp.)
* Link-Tabellen
aus beiden Namen
Prefix mit Underscore, also mm:nn -> nn_zu_mm
* Info-Tabellen
@_Info
V Felder
beschreibend
beschreibend
sinngemäss
* Tabellenzugehörigkeit
Tabellenkürzel (max 5)
keine
keine Bezeichnung der Tabelle
nix
V Typ
als Anhang
keine
Kein Typ im Feldnamen
nix
* Boolean
immer beginnend mit Ist_ oder Hat_, TRUE beantwortet die Frage mit "JA"
V Methoden
deutsch/englisch
Englisch
dt/en
V Groß/Kleinbuchstaben
gemischt
gemischt, Worte durch Underscore getrennt
Wenn überhaupt, dann die 4D Regel
gemischt, damit gut lesbar. Modul als Präfix
* Methoden
erster Buchstabe groß
kein Unterschied
do_@
alles gross
* Funktionen
erster Buchstabe klein
kein Unterschied
f_@
erster gross
V Module, Gruppen
über Prefix
über Prefix
Präfix_
* Handle-Methoden
Tabelle-Hndl
* Trigger-Methoden
Trig_Tabelle
* Dienstleister
Mgr_@
x@
V Hauptgruppen
* Manager für Objekte
ManObjektname(), also ManAdressen(), ManPersonen(), ManRechnungen(), ...

C_String(16;$1;$xml)
* Prozessmethoden
edit_Objektname
list_Objektname
proc_Objektname
* Utilities
xxTaetigkeit_hmyy()
xx steht für die Abkürzung der Methodenklasse
yy steht für die Abkürzung der Component.
Beispiel: PmGet_hmsh() :: Klasse: Parameter (pm), Tätigkeit: Get, Component: Shell (sh)
* System
Substantiv + Verb
S_
Xxx steht immer für Objekt+Verb; Beispiel:
xxx:=f_KontoPflegen oder do_MailsVerarbeiten.
V Versionen
MMMJJ (@_Jul07)
JJJJMM, JJJJMMTT
* Zeitstempel
XML-Nomenklatur 2007-07-10T17:07:02
V Modulaufrufe
was = Text
objekt = Pointer
id = Longint
evtl. weiter Parameter
V Units
wie definieren nur units
* Aufruf
schnittstellen, die eingehalten werden muessen
Die besprochene API finde ich gut.
* Tabellen
gemeinsam genutzte tabellen, deren inhalte und relationen beschrieben werden
* Variablen
alle nicht lokalen variablen müssen mit dem unit Namen anfangen (eigener Namensraum)
V Formulare
[Tabelle]Eingabe, [Tabelle]Liste, [Tabelle]Dialog,
[Tabelle]InlistTabelle
* Tabellenzugehörigkeit
Tabellenkürzel (max 5)
* Art
@_In, @_Out, @_Dlg
Detail_01, List_01, Dialog_ + Zweck des Dialogs
* andere
Substantiv + Verb
* Versionen
MMMJJ (@_Jul07)
V Andere benannte Objekte
* Set
"[Tabelle]falsch"

Bisher keine Regel, vielleicht "set_@"
* Auswahlen
"sel_" vielleicht und "nsel_@" für benannte Auswahlen?