Melvin Cowznofski: Suche nach Email in Ordner voller Textdokumente

Beitrag lesen

Hallo,

Wieweit bist du mit dem Debugging? Wo genau ist denn in den Variableninhalten und Funktionsergebnissen etwas anderes enthalten als du erwartest? Debugging ist meist nervig, aber integraler Bestandteil der Programmierung. Du musst damit umgehen können. Baue var_dump()-Aufrufe ein, um dir Variableninhalte anzeigen zu lassen. Willst du wissen, ob das Programm hierlang oder dalang rennt, baue Ausgaben in if- und else-Zweige ein, die dir das anzeigen (alternativ: das Bedingungsausdrucksergebnis mit var_dump() anzeigen lassen).

dem kann ich zu 110% zustimmen. Als ich angefangen habe, mich mit PHP zu beschäftigen, sind mir anfangs diese dauernden Hinweise auf ein Debugging sehr auf die Nerven gegangen. Ich wollte einfach so schnell als möglich zum Ziel kommen und sobald ich ein erstes Resultat ohne eine Fehlermeldung hatte, war ich schon glücklich. Gottseidank habe ich aber in der Zwischenzeit erkannt, dass man beim Programmieren von PHP (und natürlich auch anderen Programmiersprachen) während der Erstellung einer Ressource das Errorreporting bis zum Maximum hochschraubt und sich für wirklich _jede_ mögliche Variante, den das Programm gehen kann, ansieht, was passiert.

Zum Beispiel für den Fall, dass der über ein Formular eingegebene Tag eines Monats weiterverarbeitet wird. Was soll passieren, wenn keine Zahl, sondern ein Buchstabe eingegeben worden ist? Was soll passieren, wenn gar nichts eingegeben worden ist? Was soll passieren, wenn eine Zahl größer als 31 eingegeben worden ist oder eine 30 für einen Februar, eine 31 für einen April? Hier gilt: Wirklich _jede_ Eventualität durchspielen. Oder bei Variablenverarbeitung: Ist die zu verarbeitende Variable überhaupt definiert? Entspricht der Inhalt meiner Erwartung? Entspricht der _Typ_ meiner Erwartung? U.s.w.

Sobald ich beim Programmieren in einer PHP Ressource eine Variable habe, die weiterverarbeitet wird, steht schon das var_dump() dort, bevor es weitergeht mit dem Schreiben.

Das Motto "Wer billig kauft ,kauft teuer" stimmt auch hier: Wer nicht _jeden_ kleinsten Teil seines Programms auf _jede_ mögliche Eventualität durchgetestet hat, steht vor einem gewaltigen Problem, wenn ein Gesamtprojekt mal fertig ist (oder gar schon online) und sich dann "zufällig" eine falsche Programmierung oder eine vergessene Möglichkeit zeigt. Die Zeit, die man nämlich _dann_ aufwenden muss, um den Fehler bzw. die Ursache eines Problems zu identifizieren und dann womöglich braucht, um vieles umzuschreiben, was dann vieleicht auch noch zur Folge hat, dass andere Programmteile, die im Zusdammenhang stehen, _ebenfalls_ abgeändert werden müssen, steht in keiner Relation zu der Zeit, die man für das Debuggen gebraucht hätte.

Mit lieben Grüßen

Melvin Cowznofski

--

Melvin Cowznofski
What – me worry?