Mailinglisten-Archive |
On Saturday 31 July 2004 20:21, "patrick müller (aka elias)" wrote:
> Johannes Schlueter wrote:
> > Das einzige Problem mit PHP ist, dass die Einstiegskurve zu flach ist,
> > ein "<b>Heute ist der <?=date('d.M.Y');?>!</b>" ist einfach zu schnell
> > hingeschrieben und schon ist man "PHP-Profi".
>
> genau deswegen denke ich das es bald ein goto geben wird,
> denn diese tatsache ist ja durchaus gewollt.
Das ist, auf der entwickler-Liste, das entscheidende Argument _gegen_ Goto:
Unerfahrene Anwender produzieren damit Spaghetti-Code. Nur wenn man genau
weiß was man tut und die Alternativen kennt kann Goto Sinn machen - nicht für
Anfänger. So ist die Gefahr recht groß, dass sowas rauskommt:
<html><?
/* Bitte nicht nachmachen und ja, ich kenne switch, <?php, ... ;-) */
if ($aktion == 'zeig_alle') {
goto zeig_alle;
} elseif ($aktion == 'zeig_einen') {
goto zeig_einen;
} else {
foto fehler;
}
zeig_alle:
foreach($items AS $item) {
?><p><?=$item;?></p><?
}
goto ende;
zeig_einen:
?><p><?=$id;?></p><?
goto ende;
fehler:
?><b>Da ist was falsch gelaufen!</b><?
ende:
?></html>
Sowas wird schlimm und ich spreche aus Erfahrung - wobei meine Basic-Programme
noch mit Zeilennummern gesprungen sind - was zu nochmehr Chaos führte, ach
war das 'ne Zeit ;-)
> IMHO:
> welche features gut oder schlecht im sinne der wartbarkeit
> oder etwa performance funktionieren liegt doch am entwickler
> (sofern es prinzipiell funktioniert). das beinhaltet auch die
> entscheidung das feature überhaupt zu nutzen.
Hängt aber auch davon ab wie gut es ins Sprachkonzept reinpasst. Wie ich
geschrieben habe finde ich Exceptions in einer Prozeduralen Sprache etwas
irritierend. "Jedes Feature zu jedem Preis" ist sicher nicht das Optimum und
unerfahrene Anwender Missbrauchen halt recht oft, unwissentlich, gewisse
Features.
Eine schöne Lösung für goto wäre den goto-operator nicht "goto" sondern
"goto_label_and_i_know_what_i_do_and_checked_wether_it_is_required" zu
nennen, wer das tippt macht sich schon ein wenig mehr Gedanken ;-)
johannes
--
Johannes Schlüter
php::bar | Der Treffpunkt für Einsteiger und Profis http://www.phpbar.de
php::bar PHP Wiki - Listenarchive