Mailinglisten-Archive |
Hallo Norbert,
> irgendwie kann ich Deiner Argumentation nicht ganz folgen.
> Als Beispiel habe ich getImageSize(); gewaehlt.
bei 'ner vorgegebenen Funktion macht meine Argumentation auch keinen
Sinn, da ich auf ein Posting geantwortet habe, in dem es explizit um
eine _eigene_ Funktion ging.
Es ist beim Design einer Funktion durchaus wichtig, was in der
Peripherie geschieht, d.h. _welche_ Werte _wie_ übergeben werden. Ich
hatte beispielsweise heute eine rekursive Funktion, die zu lahm für die
Anwendung war. Mit ein wenig Umschreibearbeit konnte ich mit dem
gleichen Datensatz per Referenz arbeiten, statt ihn als normale
Funktionsvariable zu übergeben.
(http://www.php.net/manual/de/language.references.whatdo.php) Als
Resultat war die Funktion um einen Faktor 10(!) schneller und das obwohl
der Datensatz gerademal ein paar dutzend Zahlen umfasste. Sicher fällt
dies bei drei Variablen in einer Funktion, die möglicherweise nur einmal
aufgerufen wird, nicht so ins Gewicht - wer sich jedoch angewöhnt darauf
zu achten, der hat es im entscheidenden Moment einfacher.
Deshalb, aus meiner eigenen Programmierpraxis heraus, hatte ich
vorgeschlagen, mit einem optionalen Funktionswert, der Funktion zu
sagen, wann nur die für die If-Anweisung notwendige Information
übermittelt werden soll.
> Wenn man alle JPG's eines Ordners sucht, waere es durchaus
> praktisch:
> <?php
> if (getImageSize($file)[2] == 2) {
> }
> ?>
> statt:
> <?php
> $IMG = getImageSize($file);
> if ($IMG[2] == 2) {
> }
> ?>
> zu schreiben.
Dass die Entwickler sich hier nicht gerade sehr viel Zeit für die
Funktion genommen haben, sieht man schon am Namen. Wer erwartet bei
getImageSize schon einen Image-Type? Curios!
> Aber es sieht einfach doof aus, trotz allem ... ;-)
Ich wette es sieht nur doof aus, für Leute die etwas
Programmiererfahrung haben ... ob das Unterbewusstsein uns hier hilft? ;-)
Gruß, Thomas
php::bar PHP Wiki - Listenarchive