Es weiterhin verblüfft mich , dass in der heutigen Zeit, Produkte , die Jahre der Nutzung auf dem Buckel haben, von einem Team von Profis, noch bis heute - nicht hilfreich Fehlermeldungen an den Benutzer zur Verfügung zu stellen. In einigen Fällen kann das Hinzufügen von wenigen zusätzlichen Informationen dem Benutzer stundenlange Probleme ersparen.
Ein Programm, das einen Fehler generiert, hat ihn aus einem bestimmten Grund generiert. Es hat alles zur Verfügung, um den Benutzer so weit wie möglich zu informieren, warum etwas fehlgeschlagen ist. Und doch scheint die Bereitstellung von Informationen zur Unterstützung des Benutzers eine niedrige Priorität zu haben. Ich denke, das ist ein großes Versagen.
Ein Beispiel ist von SQL Server. Wenn Sie versuchen, eine Datenbank wiederherzustellen, die gerade verwendet wird, können Sie das zu Recht nicht. SQL Server weiß, welche Prozesse und Anwendungen darauf zugreifen. Warum kann es keine Informationen zu den Prozessen enthalten, die die Datenbank verwenden? Ich weiß, dass nicht jeder ein Applicatio_Name
Attribut für seine Verbindungszeichenfolge übergibt , aber sogar ein Hinweis auf die betreffende Maschine könnte hilfreich sein.
Ein weiterer Kandidat, auch SQL Server (und MySQL), ist die schöne string or binary data would be truncated
Fehlermeldung und Entsprechungen. Viel Zeit, eine einfache Durchsicht der SQL-Anweisung, die generiert wurde, und die Tabelle zeigt, welche Spalte der Schuldige ist. Dies ist nicht immer der Fall, und wenn das Datenbankmodul den Fehler erkannt hat, warum kann es uns dann nicht diese Zeit sparen und uns nur sagen, um welche verdammte Spalte es sich handelt? In diesem Beispiel könnten Sie argumentieren, dass die Überprüfung möglicherweise einen Leistungseinbruch zur Folge hat und dies den Verfasser behindern würde. Gut, das kaufe ich mir. Wie wäre es, wenn das Datenbankmodul nachträglich einen schnellen Vergleich zwischen den zu speichernden Werten und den Spaltenlängen durchführt, sobald es weiß, dass ein Fehler vorliegt. Zeigen Sie das dann dem Benutzer an.
ASP.NETs schreckliche Tabellenadapter sind ebenfalls schuld. Es können Abfragen ausgeführt und eine Fehlermeldung ausgegeben werden, die besagt, dass irgendwo eine Einschränkung verletzt wird. Dank dafür. Es ist Zeit, mein Datenmodell mit der Datenbank zu vergleichen, da die Entwickler zu faul sind, auch nur eine Zeilennummer oder Beispieldaten bereitzustellen. (Für das Protokoll, ich würde nie dieses Datenzugriffsmethode verwenden , durch Wahl , es ist nur ein Projekt , das ich geerbt haben!).
Immer wenn ich eine Ausnahme von meinem C # - oder C ++ - Code auslöse, stelle ich dem Benutzer alles zur Verfügung, was ich zur Verfügung habe. Es wurde die Entscheidung getroffen, es zu werfen. Je mehr Informationen ich geben kann, desto besser. Warum hat meine Funktion eine Ausnahme ausgelöst? Was wurde übergeben und was wurde erwartet? Ich brauche nur ein wenig länger, um den Text einer Ausnahmebotschaft mit einer Bedeutung zu versehen. Zur Hölle, es hilft mir nur, während ich mich entwickle, weil ich weiß, dass mein Code Dinge auslöst, die von Bedeutung sind.
Man könnte argumentieren, dass dem Benutzer keine komplizierten Ausnahmemeldungen angezeigt werden sollten. Ich bin damit zwar nicht einverstanden, aber es ist ein Argument, das sich leicht beruhigen lässt, wenn Sie abhängig von Ihrem Build eine unterschiedliche Ausführlichkeit haben. Selbst dann sind die Benutzer von ASP.NET und SQL Server keine typischen Benutzer und würden etwas voller Ausführlichkeit und leckerer Informationen bevorzugen, da sie ihre Probleme schneller aufspüren können.
Warum halten Entwickler es heutzutage für in Ordnung, im Fehlerfall so wenige Informationen wie möglich bereitzustellen?
Es ist 2011 Jungs, kommen auf .