PHP-Programmierung: Namen für Variablen

Dem Namenschaos entgehen

Im letzen Artikel „Der Gebrauch von Variablen und Konstanten“ wurde schon über die Wichtigkeit der Namen in einem PHP-Programm berichtet. Bei größeren Anwendungen mit vielen ineinander verschachtelten Includes, Skripten, Funktionen usw. ist es für Sie enorm wichtig, sich eine einheitliche Nomenklatur der PHP-Namen zu überlegen. Was sollte man dabei beachten?

Es liegt an Ihnen

Kein Mensch wird etwas dagegen haben, dass Sie sog. Laufindizes in einer for-Schleife mit $i,$j,$k,$ii,$jj,$kk benennen. Es fängt aber schon an, wenn Sie einen Hilfestring mit $str bezeichnen, diesen aber irgendwo unten im Programm plötzlich wiederverwenden, ohne zu wissen, was Sie vorher in die Variable gestellt haben.

Wie Sie wissen, gibt es auch eine ganze Reihe von vordefinierten Variablen wie $_SERVER, $GLOBALS etc. die Sie bei Benutzung überschreiben würden, was einer späteren Verwendung im Wege stünde. Klar kurze Variablennamen machen die Schreiberei schnell. Auch ich nehme die Allerweltsbuchstaben $A, $B, $C als Variablennamen, wenn ich schnell etwas testen will! Aber übernehme ich dann den Test ins Programm und ändere die $A, $B, $C nicht in sprechende Namen, stehe ich spätestens einen Monat später vor dem Problem, was ich denn da wieder programmiert habe, und was das eigentlich bedeutet, was ich hier geschrieben habe. Und das wird Ihnen genauso passieren.

Gut, nicht ich muss Ihr Programm verstehen, sondern Sie selbst! Und selbiges auch noch nach Jahren!

Sie können dem Chaos begegnen, indem Sie sich zwingen, gleich ordentliche sprechende Variablennamen zu vergeben. Denn stellen Sie sich vor Sie sehen eine Variable $str in Ihrem Programm, Sie wissen: Da soll wohl ein String drinstehen. Jetzt müssen Sie nachsehen was als letztes nach $str gespeichert wurde, wo also $str benutzt oder erstmals definiert wurde. Was ist das für eine Variable? Stellen Sie sich weiter vor sie befinden sich in einer Funktion und sie finden als letzte Referenz auf $str

function xyz($str) {

$str = ‚hugo‘;
if($str = ‚otto‘) tu_das($str);
}

Dies ist ein typischer Fehler, der mit diesen leicht mal hingeschmierten Variablen vorkommen kann. Denn $str wird in der function als Parameter benutze und von außen übergeben. In $str = ‚hugo‘; wird nun aber $str mit neuem Wert versorgt, es kann also nie ‚otto‘ in $str stehen, egal, was an die function übergeben wird. PECH!
Sie sehen, wie schnell sich mit den falschen Variablennamen Fehler einschleichen können. Hätten Sie jetzt geschrieben:

function xyz($ps_name) {

$str = ‚hugo‘;
if($ps_name = ‚otto‘) tu_das($str);
}

Dann würde der Parameter noch wirken.

Es wäre also gut, wenn man den sog. Formalparameter [also den Variablen die in der function angegeben sind] bestimmte Namen vergibt. Hier habe ich mal ps gewählt, um zu zeigen, dass der Parameter ein Parameter und vom Typ string ist. Das meine ich mit Namensvergabe.

Wie Sie Ihre Variablen und Programme benennen, ist Ihre Sache. Ich kann nur Vorschläge machen.

Nomenklatur

  1. Alle Konstanten (Quasi-Konstanten) werden in Großschrift benannt
  2. Local in einer function definierte Variablen beginnen mit $l, somit würde im obigen Beispiel $str zu $lstr!
  3. Variablen, die aus includes stammen, welche eingebunden wurden, beginnen mit $g_
  4. Der Typ der Variablen wird im 2. Variablenbuchstaben vergeben. Dabei steht z.B.
  • a für Array,
  • m für Matrix (oder mehrdimensionale Arrays),
  • s steht für Strings
  • n steht für numerisch
  • db steht für eine Datenbankvariable
  • c steht für eine Klassenvariable
  • b steht für Boolsche-Variablen (also für Werte wie false und true)
  1. Der Unterstrich ‚_‘ wird zur Aufteilung von Bedeutungsteilen verwendet. Z.B. $ldbartikel_sql, $ldbartikel_result etc.
  2. Eigene Funktionsnamen beginnen mit Ihrem Kürzel, oder Systemnamenskürzel z.B. sbk_, use_, my_ etc.
  3. Nehmen Sie Variablennamen, die sprechend sind! Bei Abkürzungen, nehmen Sie Abkürzungen, die Sie auch in 10 Jahren noch verstehen.

Erstellen Sie sich eine eigene Nomenklatur und halten Sie sich daran, es ist von Vorteil! Die Fehlersuche geht um einiges schneller!

Prinzipiell sind sie völlig frei in der Gestaltung, Sie dürfen allerdings keine PHP-Vorgaben überschreiben. So gibt es z.B. in PHP Variablen wie __FILE__, die Sie bewahren müssen. Ob Sie nun mit dem Unterstrich arbeiten, wie im vorherigen Artikel mit $HTML_, $SYS_ oder $__HTML, ist Ihnen überlassen. Ja, Sie können auch die Idee von WordPress aufgreifen:
In WordPress gibt es eine Funktion die heißt __ ! Ja, das geht, da _ ein gültiges Zeichen im Variablennamen ist. Ob dies allerdings für Sie aussagekräftig ist, müssen Sie entscheiden.

Gruß
Bernd Klüppelberg

Bisher gibt es keinen Kommentar. Schreiben Sie einen Kommentar!

Schreibe einen Kommentar