phpbar.de logo

Mailinglisten-Archive

[php] Der ; du dessen folgen?

[php] Der ; du dessen folgen?

Dr. Volker M. Göbbels vmg at thinkphp-kunden.de
Mon Mar 22 00:02:11 CET 2004


Hallo zusammen,

also erst mal zur Frage: Ja natürlich kann man das weg lassen, weil es 
laut Sprachdefinition ein _Trenner_ von Statements ist, während es in 
Sprachen wie Pascal zum Statement dazugehört, sprich ein valides 
Statement ist "bla;" und nicht "bla" selbst ;)
Ein } bedeutet "Block zu Ende" und das impliziert (in PHP) auch 
"Statement zu Ende".

Am 21.03.2004 um 18:20 schrieb patrick müller (aka elias):

> IMHO: richtig. weil das } quasi schon ein ; beinhaltet kann man
> es weglassen. ich würde sogar sagen das man es sollte, weil andere
> skriptsprachen zb actionscript was dagegen haben.

Erm, was hat Actionscript mit einem PHP Programm zu tun? ;)

Ich plädiere bei meinen Schulungen und auch in solchen Diskussionen wie 
hier grundsätzlich dafür, ein Semikolon zu setzen. Es stört nicht im 
Geringsten, verbessert aber die Code Qualität. Und zwar tut es das, 
indem es diesen Block fehlerärmer erweiterbar macht.
Stell dir vor, da ist kein ; und du möchtest ein Statement anhängen. 
"Dann setz ich natürlich erst mal das ; und schreibe dann die neue 
Zeile dazu" wirst du jetzt sagen. Aber ich bin mal gespannt, wie oft 
einem dabei ein parse error unterläuft, weil man das doofe ; doch 
vergessen hat.
Das ist sicher nicht dramatisch, aber das präventive Reinschreiben des 
Semikolon födert somit quasi die Fehlerarmut und damit Produktivität 
und das nenne ich professionelleren Code. Womit ich jetzt nicht 
unterstelle, daß jeder, der's nicht reinschreibt, kein Profi ist. Aber 
würde mir in einem Code-Audit so ein Quellcode unterkommen, würd ich 
den (minimal) negativ bewerten. Ist halt das, was die Amis immer so 
schön als "error prone" bezeichnen ;)

Ich kenne sogar Leute, die schreiben hinter das } ein Semikolon, also 
}; Das schluckt PHP anstandslos, aber so richtig Sinn macht es nicht 
und für einen Fan von gut aussehendem Code wie mich sieht das häßlich 
aus ;) Der Gegenstandpunkt ist: ein {...} Block ist äquivalent einem 
Einzelstatement und erfordert daher ein Semikolon an Ende ... ich 
fürchte, Diskussionen dieser Art kann man bei Programmiersprachen wie 
PHP, die fast alles schlucken, bis zum Sankt-Nimmerleinstag führen, da 
sich die Sprachdesigner eben nicht für einen gültigen Weg entschieden 
haben und damit alle anderen Schreibweisen durch einen Fehler maßregeln 
;)

Viele Grüße,
Volker Göbbels
-- 
Dr. Volker Göbbels								   vmg at arachnion.de
Arachnion GmbH & Co. KG						http://www.arachnion.de
Sandkaulbach 4							  Tel. ++49 (0) 241 5591106
52062 Aachen							   Fax ++49 (0) 241 5591107
Besuchen Sie uns auf dem Linux Tag 2004 in Karlsruhe!  
http://www.linuxtag.org


php::bar PHP Wiki   -   Listenarchive