Sven Rautenberg: Unterschied bei GROSS und KLEIN Scheibung bei Variablen

Beitrag lesen

Moin!

Es gibt zwar keine Vorschriften wie man Variablen zu verwenden hat, anzuraten ist aber schon das kleinschreiben (bzw. immer den 1. Buchstaben große => $MeineErsteTestVariable).

AFAIK schreibt man üblicherweise (zumindest alle mit denen ich arbeite tun das so :D) nur bei Klassennamen den ersten Buchstaben groß, bei Variablen nicht. Dann kann man diese beiden wesentlich einfacher auseinander halten.

Richtig.

Variablen: camelCase, erster Buchstabe klein.

Konstanten: UPPER_CASE_UNDERSCORED

Klassen: Pfad_Mit_Underscores_CamelCaseGeht, oder auch \Pfad\Mit\NameSpaces\Und\CamelCaseGeht

So zeichnet sich jedenfalls der Coding Style projektübergreifend in PHP ab.

Manche setzen auch gernen ein i_ vorne dran für int-variablen oder str_ für Strings arr_ für arrays und obj_ für Objekte und eben b_ für boolean. (wie war das bei float? fl_ / f_)

Nennt sich ungarische Notation. Bei float laut Wikipedia "r", ist aber letzten Endes sowieso dem Projektleiter/Programmierer/etc. überlassen das festzulegen.

Ja, und wie man kolportiert, haben alle diejenigen, die die scalaren Grundtypen als Prefix benutzen, den Sinn von ungarischer Notation nicht verstanden.

Die Legende will es, dass ein findiger Programmierer diesen Prefix genutzt hat, um in irgendeiner Microsoft-Software den Variablen erkennbare Einheiten zuzuweisen - nehmen wir einfach mal an, es seien Länge und Breite von Elementen auf einer bedruckbaren Seite in Word gewesen. Der Sinn der Einheiten ist es, klarer erkennen zu können, ob man Unsinn rechnet, oder nicht:

if (h_box1 + h_box2 + h_box3 > h_page) {
  add_pagebreak();
}

Klare Sache: Höhen dreier Boxen zusammenrechnen geht wunderbar, und vergleichen mit der Seitenhöhe klappt auch.

if (h_box1 + h_box2 + w_box3 > h_page) {
  add_pagebreak();
}

Finde den Fehler... Aus der QA kommt nur die Fehlerbeschreibung, dass der Seitenumbruch bei manchen Boxen auf der Seite nicht korrekt greift.

Und vergleiche mit:

if (fl_box1 + fl_box2 + fl_box3 > fl_page) {
  add_pagebreak();
}

Klare Sache, oder? :)

- Sven Rautenberg