Namenskonvention bei Variablen
Klaus
- php
0 Juan0
Der Martin
0 Klaus0 Maxx0
Der Martin
0 FraFu
Hallo,
ich benutze die ungarische Notation bei meinen Variablennamen.
Bsp: $sVariablenname für eine Stringvariable,
$bVariablenname für eine boolsche Variable,
usw.
Es gibt nun eine Funktion die einen übergebenen Parameter weiterverabeitet. Dieser Funktion soll sowohl ein String als auch ein Array übergeben werden können.
function CreateText($Param) {
if(is_array($Param)) {
$sContent = print_r($Param, TRUE);
} else {
$sContent = $Param;
}
}
Nun meine Frage: mit welcher ungarischen Notation kann man $Param bestücken? $aParam für ein Array oder $sParam für einen String oder vielleicht $uParam für undefined?
Vielen Dank für die Hilfe.
MfG
Klaus
Hallo,
Nun meine Frage: mit welcher ungarischen Notation kann man $Param bestücken? $aParam für ein Array oder $sParam für einen String oder vielleicht $uParam für undefined?
wie wäre es, wenn du dich z.B. an die Deklaration von php.net hälst und das Ding einfach $mParam nennst, für mixed.
Allerdings muss ich zugeben, dass ich noch nie was von der ungarischen Notation gehört hab, mein Tipp also einfach ins Blaue geschossen ist.
MfG,
Juan
Hallo Klaus,
ich benutze die ungarische Notation bei meinen Variablennamen.
Bsp: $sVariablenname für eine Stringvariable,
$bVariablenname für eine boolsche Variable,
ein netter Vorsatz. Wenn man sich an das Schema gewöhnen mag, ist das vielleicht sogar gut für die Übersicht.
Ich ziehe es allerdings vor, Variablen nicht nach ihrem Typ, sondern nach ihrem Verwendungszweck im Programmkontext mit einem Präfix zu versehen. Denn für das _Verständnis_ eines Stückes Programmcode ist es meistens hilfreicher, wenn man den Zweck einer Variablen erkennt. Der Datentyp ist fürs Verstehen der Zusammenhänge meist zweitrangig bzw. ergibt sich oft zwangsläufig aus dem Kontext. Eine dahingehende Benamsung wäre daher in vielen Fällen redundant.
Nun meine Frage: mit welcher ungarischen Notation kann man $Param bestücken? $aParam für ein Array oder $sParam für einen String oder vielleicht $uParam für undefined?
Mein Vorschlag wäre 'v' für variant, weil 'u' meistens mit unsigned assoziiert wird. Außerdem ist dein Parameter ja nicht undefined!
So long,
Martin
Ich ziehe es allerdings vor, Variablen nicht nach ihrem Typ, sondern nach ihrem Verwendungszweck im Programmkontext mit einem Präfix zu versehen.
Hallo,
kannst Du bitte mal ein Beispiel dazu posten. Was ist mit Präfix für Verwendungszweck gemeint?
Danke
Hallo Klaus,
kannst Du bitte mal ein Beispiel dazu posten. Was ist mit Präfix für Verwendungszweck gemeint?
zum Beispiel i... wenn die Variable einen Index (auf ein Array) darstellt. Oder c... (counter) für eine Schleifenvariable. Das was du mit einem b (für bool) auszeichnest ist eigentlich ein f (flag)
Versaubeutelt hat das mal wieder, wie sollte es anders sein, Microsoft. Die Redmonder haben den Sinn der ungarischen Notation nicht verstanden. Sie haben was eigenes gebastelt, indem sie der Variable als Präfix den Typ statt ihrem Verwendungszweck gaben.
Viele Grüße,
Jochen
Hi Klaus,
Ich ziehe es allerdings vor, Variablen nicht nach ihrem Typ, sondern nach ihrem Verwendungszweck im Programmkontext mit einem Präfix zu versehen.
kannst Du bitte mal ein Beispiel dazu posten. Was ist mit Präfix für Verwendungszweck gemeint?
Ziemlich stark hat sich dieses Prinzip in der Windows API-Programmierung durchgesetzt. Da bekommen zum Beispiel Ressourcen-Handles (Basistyp: int) oft das Präfix 'h' für Handle (hwnd, hdlg, hfont), Flags zur Festlegung von Fenstereigenschaften (Basistyp: int) werden gern mit 'ws' für Window Style eingeleitet, Statusflags mit 'f' für Flag (okay, das ist kein so gutes Beispiel), oder Strukturen für grundsätzliche Definition von Fenstern (Basistyp: struct) mit 'wc' für Window Class, Zählvariablen mit 'i' wahrscheinlich für Iteration, die Anzahl von Elementen mit 'n' wahrscheinlich für Number.
Genügt das erstmal als Beispiel? ;-)
So long,
Martin
Hallo!
function CreateText($Param) {
if(is_array($Param)) {
$sContent = print_r($Param, TRUE);
} else {
$sContent = $Param;
}
}Nun meine Frage: mit welcher ungarischen Notation kann man $Param bestücken? $aParam für ein Array oder $sParam für einen String oder vielleicht $uParam für undefined?
Das mit dem Prefix ist ein guter Vorsatz. Nehm ich mir auch immer vor. Ganz durchgezogen hab ich noch in keinem Projekt! :-)
Ich würde hier m wie Mixed verwenden.
Außerdem ein kleiner Tipp zu Funktionsnamen. Ich beginne Funktionsnamen immer mit Kleinbuchstaben und Klassennamen immer mit Großbuchstaben. Trägt auch einiges zur Übersichtlichkeit bei.
mfg
frafu