dedlfix: echo-Schreibweise leider suboptimal

Beitrag lesen

Hi!

Ja, genau das ist meine Argumentationslinie: vorwiegend das Prinzip erklären.
SELFHTML ist kein Ort, an dem man bloß abstrakte Prinzipien erklären kann. Viele Fragende bringen die notwendigen Voraussetzungen nicht mit, sie sind keine Akademiker, Informatiker, Ingenieure, Techniker, Programmierer. – Das ist nicht als Lamento gemeint, sondern als neutrale Feststellung. – Sie verstehen es nicht, wenn jemand Codebeispiele in natürlicher Sprache gibt, um ohne bloß keinen konkreten Code zu zeigen.

Wenn man das als Antwortender merkt, kann man immer noch konkret werden. Doch gleich von vorn herein die Lösung als Code zu geben, entspricht nicht dem SELF- sondern dem GET-Prinzip. Das Motto heißt immer noch die Energie des Verstehens und nicht des Lösunggebens, und das find ich gut so.

Das ist einfach ein Erfahrungswert. Wenn ich ich hier zehn mal bloß das Prinzip erkläre, bekomme ich in fünf Fällen eine Nachfrage oder gar eine Mail mit der Bitte, doch mal konkreter zu werden.

Das ist ungefähr wie mit target=_blank, viele wollen es oder kennen es nicht anders, andere hassen es. Man weiß es als Antwortender (außer bei bekannten Kandidaten) nicht vorher, welche Strategie zu Ziel führt. Von vornherein eine Fertig-Lösung zu präsentieren, gibt zwar oft einen schnellen Erfolg, und man selbst hatte Freude am Programmieren, nimmt aber auch irgendwie dem anderen die Möglichkeit vorweg, selbst tätig zu werden und dabei aus seine Fehlern Erfahrung zu ziehen. Manchmal sehe ich einen offensichtlichen Fehler. Wenn ich jedoch nur sage, das und das ist falsch, so ist es richtig, nehme ich dem Fragenden die Möglichkeit des Erfahrungsammelns beim Debugging oder beim Umgang mit Dokumentationen. Sage ich lieber: schau dir an, was real ist und bringe ihm den Umgang mit den Werkzeugen bei oder wie man in der Dkoumentation etwas findet, ist das unter Umständen eine längere Anwort, doch das befähigt bei ähnlichen Problemen, selbst nach der Ursache suchen zu können - so zumindest meine Hoffnung. Es gibt ja immer noch die Möglichkeit, mit einem Beispiel konkret werden. Und ja, dann gibt es immer noch Anwender, die es nicht verstehen. Dann ist das irgendwann auch mal Pech.

Von dem, was ich gepostet habe, wurde die Hälfte verstanden, aber am Zusammenbauen der Häppchen hapert es. Wenn ich dann nicht konkreter werde, was ich häufig nicht tue, weil ich nicht alles vorgeben will, lautet die nächste Reaktion »lass gut sein, ich bin woanders fündig geworden / ich habe es anders gelöst«. Ich will dann lieber nicht deren Lösung sehen.

Solche Kandidaten gibt es immer, aber entweder bin ich gut im Verdrängen oder mir begegnen sie sooo oft auch wieder nicht.

Wenn wir bei dem konkreten Beispiel bleiben, ist es sehr wohl in kurz zu zeigen möglich. Statt

$result=mysql_query($sql) or die(mysql_error() . "<pre>$sql</pre>");

ist es besser es so zu zeigen

if ($result = mysql_query($sql)) {
    // Abfrageergebnisverarbeitung
  } else {
    // Reaktion auf Fehler
  }

Der Fragestellerin war bereits bereits bekannt, das mysql_query existiert. Das Neue hier ist, dass und wie der Rückgabewert geprüft wird. Ein guter Hinweis. Was zunächst nicht bekannt war – der Anlass der Frage –, wie die Ergebnis-Verarbeitung aussieht und wie eventuelle Fehler angezeigt werden können. Daher wäre ein konkreter Verweis auf mysql_fetch_row, mysql_fetch_object usw. sowie mysql_error angebrachter, als ein nichtssagendes /* Hier musst du das Ergebnis fetchen! */ /* Hier musst du auf den Fehler reagieren, aber ich sage dir absichtlich nicht, wie! */.

Entschuldigung, ich bezog mich bei "konkretes Beispiel" auf unseren Diskussionsgegenstand, eine allgemeine Alternative zum or-die()-Code zu geben, und nicht auf das Thread-Problem. Für einen konkreten Fall und je nach Wissensdefizit kann man selbstverständlich den einen oder anderen Zweig ausführlicher gestalten. Und ich finde nicht, dass es nichtssagend ist. Es zeigt zumindest die Stellen, an denen man noch tätig werden soll, ohne gleich eine vergleichbar schlechtere Lösung zu präsentieren. Vielleicht kann es der Anwender selbst vervollständigen, vielleicht will er es nicht, dann lässt er es eben weg und soll damit glücklich werden, vielleicht kommt es im weiteren Verlauf zu einer Konkretisierung der Abschnitte. Es gibt immer irgendwo einen optimalen Weg zur Lösung, der jedoch nicht immer gleich zu Anfang bekannt ist. Extreme, wie abstrakte wissenschaftliche Erklärungen oder Fertiglösungen auf dem Präsentierteller, sind zwar auch in einigen Fälle zielführend, doch ich denke, das Beste ist irgendwo dazwischen.

Lo!