// der php hacker

// archiv

Wusstest du schon …

Geschrieben am 22. Dez 2010 von Cem Derin

… dass auch das letzte Element eines Arrays mit einem abschließenden Komma notiert werden kann? Das beugt einem nervigen Fehler vor, den man auch als erfahrener Entwickler immer wieder macht: Ein neues Element hinzufügen und vergessen, beim vorherigen ein Komma mit einzufügen!

$array = array(
	'foo',
	'bar',
	'batz',
);

Wie auch schon im letzten Jahr werden die Feier- und Brückentage mit kleinen aber wie ich finde feinen Tipps aus der Trickkiste der Web-Developer angereichert. Wer die “Wusstest du schon …”-Tipps vom letzten Jahr sehen möchte, schaue im Archiv!


#001
22. Dez 2010

ja das wusste ich.
persönlich mag ich das nicht wirklich, kA wieso.
Vermutlich weil ich dann denke, dass ich ein Element vermutlich gelöscht habe


#002
22. Dez 2010

Feine Sache! ;-)

Vorsicht geboten ist jedoch bei JavaScript Code, da hagelt es schöne Fehlerchen im Internet Explorer.


#003
22. Dez 2010
Cem Derin

Internet Explorer … ich bitte dich ;)


#004
22. Dez 2010

Ein bisschen Spaß muss sein… ;-)

#005
22. Dez 2010

[...] This post was mentioned on Twitter by Cem Derin, Benjamin Wunn. Benjamin Wunn said: Wusstest du schon … http://is.gd/jdotT [...]


#006
22. Dez 2010

Mit dem Internet Explorer macht man keine Späße, damit werden Entwickler in den Wahnsinn getrieben oO


#007
22. Dez 2010

ja, kann man machen. Aber das sieht für mich dermaßen bescheiden aus … Ich vermute das liegt daran, dass ich mit dem Komma assoziere, dass ein weiteres Element folgt. Bei dem letzten Element gibt es aber kein folgendes Element. Wenn man die einzelnen Elemente statt untereinander auch noch hintereinander schreibt, dann sieht das noch seltsamer aus. Aber im Endeffekt soll jeder sein Array deklarieren wie er mag, Hauptsache die Coding Guidelines, die man nutzt, sind nicht verletzt ;)

Frohe Weihnachten


#008
22. Dez 2010
Cem Derin

Wer Array-Elemente hintereinander schreibt gehört geprügelt ;)


#009
22. Dez 2010

Hauptsache der Name des Arrays beginnt mit $a (z.B. $aArrayName) damit man weiß, dass es ein Array ist! ;-)


#010
22. Dez 2010
Cem Derin

Danke, du hast mich daran erinnert, dass ich noch einmal einen Artikel schreiben wollte, der darauf eingeht, dass die ganze Welt die Hungarian Notation falsch verstanden hat ;)


#011
22. Dez 2010

Das zusätzliche Komma hat bei der Verwendung eines Revisions-Kontroll-Systems wie Subversion den weiteren positiven Effekt, dass das Hinzufügen eines Elemets zum Array auch nur eine Zeile im Quellcode ändert. Ein klarer Vorteil, wenn man mit mehreren Leuten im Team programmiert.

Das das in Javascript nicht geht sollte man den Programmierern vorher eintrichtern und einem eventuell auftretendem Fehler mit entsprechenden erzieherischen Maßnahmen begegnen – also wegen des Kommas und nicht wegen Verwendung des IE, zum Testen ist das erlaubt. ;-)


#012
23. Dez 2010
Stefan

Wie wär’s hiermit? So schreibe ich’s immer (auch weil ich mich so nicht in JS umgewöhnen muss)

$array = array(
'foo'
,'bar'
,'batz'
);

P.S. Ich hoffe HTML funzt in Kommentaren ;-)


#013
23. Dez 2010
Cem Derin

Oh, das finde ich mit Abstand am allerschlimmsten ;)


#014
25. Dez 2010
m!nus

Hmm, ich dachte in PHP macht das n Fehler, in Python fand ich das von Anfang an gleich cool. Da hat PHP wohl nachgezogen?


#015
27. Dez 2010
knalli

… und den Ansatz verfolgen auch einige Entwickler bei JavaScript. Mir persönlich sträuben sich dabei die Nackenhaare, aber nun ja.*

JSLint ist *der* Code-Nazi für JavaScript, CodeSniffer für PHP. Beide sind über sowohl die eingängige Lösung (ja, man war jung und wollte es ;) !!) als auch die obige Lösung not amused.

(Code der per solider/Standard Jslint-Konfiguration durchgecheckt wurde, funktioniert in der Regel auch im IE.)

* Ich stehe auf korrekt formatierten Code und lege darauf Wert. Dabei nutze ich auch IDE-gestützte (Auto-)Formatter (btw: mit dem positiven Nebeneffekt, dass sogar nicht korrekter JS-Code nicht auf Kommando (Key-Shortcut) formatiert werden kann => Mangel eines soliden JavaScript-Editoren in Eclipse. Und ich meine dabei solche soliden, welche also auch Module pattern oder Interfaces mit Return Objects “können”.)


#016
28. Dez 2010

Man kann natürlich auch alles in einer Zeile machen, wie ich es gerne mache. Ist natürlich nicht so übersichtlich, aber man vergisst nie ein Komma und besonders bei sehr großen Dateien mit mehr als 1000 Zeilen Quellcode, kann man da schon gut Platz ein sparen. Gut, habe mich an diese Art gewöhnt. Wenn mich jemand gefragt hätte ob das geht, hätte ich einen Fehler vermutet.

// kommentieren

// senden
theme von mir, software von wordpress, grid von 960 grid system. funktioniert in allen browsern, aber der safari bekommt das mit der schrift am schönsten hin.