Frage

Ich frage mich, was der allgemeine Konsens über Fehlermeldungen war. Wie detailliert sollte sie sein?

Ich habe an Projekten gearbeitet, wo es eine andere Fehlermeldung war eine Nummer für die Eingabe, die zu groß, zu klein war, eine Dezimalzahl hatte, war ein String, etc. Das ist ganz nett für den Benutzer war, da er genau wußte, wo Dinge schief gingen, aber der Fehlerbehandlungscode begann die eigentliche Business-Logik in der Größe zu konkurrieren, und damit begonnen, einige seine eigenen Fehler zu entwickeln.

Auf der anderen Seite hat ich an einem Projekt gearbeitet habe, wo man sehr allgemeinen Fehler bekommen würde wie

  

KOMPILIEREN FAILED GRUND 3

Welche unnötig zu sagen, war fast völlig nutzlos als Grund 3 einen Verbindungsfehler bedeutet worden ist.

Also, wo ist der Mittelweg? Wie kann ich wissen, ob ich aussagekräftig genug Fehlermeldungen hinzugefügt haben? Wie kann ich wissen, wenn der Benutzer in der Lage sein wird, zu verstehen, wo sie falsch gegangen sind?

War es hilfreich?

Lösung

Es gibt zwei mögliche Zielgruppen für eine Fehlermeldung, die Benutzer und Entwickler.

Man sollte haben in der Regel die Nachricht den Benutzer Ziel.

o Was ist die Ursache des Problems.
 o warum das Programm, um das Problem nicht funktionieren
 o, was der Nutzer tun können, um das Problem zu umgehen.
 o, wie das Problem zu melden.

Wenn das Problem gemeldet werden soll, sollte der Bericht so viele Programm Kontextinformationen wie möglich ist.

o Modulnamen
 o Funktionsnamen
 o Zeilennummer
 o Variablen von Interesse in den allgemeinen Bereich des Problems
 o vielleicht sogar ein Core-Dump.

Ziel das richtige Publikum.

Andere Tipps

Sie sollten kommunizieren, was passiert ist, und was die Optionen des Benutzers sind, in so wenigen Worten wie möglich. Je länger die Fehlermeldung ist, desto weniger wahrscheinlich ist der Benutzer es zu lesen. Aus dem gleichen Grunde sind kurze Fehlermeldungen kryptisch und nutzlos. Es gibt einen Sweet-Spot in der Länge, und es ist anders für jede Situation.

Zu kurz:

  

Ungültige Eingabe.

Zu lang:

  

Bitte geben Sie eine korrekt formatierte IP-Adresse, wie 192.168.0.1. Eine IP-Adresse ist eine Nummer verwendet, um Ihren Computer in einem Netzwerk zu identifizieren.

Genau richtig:

  

Bitte geben Sie eine gültige IP-Adresse.

Was Code aufblasen betrifft, wenn auch ein wenig zusätzlicher Code einen Benutzer fordert Unterstützung verhindern oder ich frustraited, dann ist es eine gute Investition.

Es gibt zwei Arten von Fehlermeldungen:. Diejenigen, die vom Benutzer und diejenigen gesehen werden, die vom Programmierer gesehen würde

„Wie kann ich feststellen, ob der Benutzer in der Lage sein wird, zu verstehen, wo sie falsch gegangen sind?“ Ich gehe davon aus, dass diese Nachrichten nur vom Benutzer gesehen werden werden, und nicht ein sehr technischen und COMPILE FAILED REASON 3 ist keine typische Endbenutzer Fehlermeldung. Es ist etwas, das der Programmierer (der Benutzer nicht in der Regel kompilieren Dinge) sehen werden.

Also, wenn es der Benutzer ist das wird sehen, es:

  1. Geben Sie eine kurze "Dies ist eine Fehlermeldung" ( "Ops! Etwas ist schiefgelaufen!", Etc.)
  2. eine kleine allgemeine Beschreibung des Fehlers Stelle ( „Die Website, die Sie zu verbinden sind versuchen, nicht verfügbar zu sein scheint“ / „Sie scheinen nicht genügend Berechtigungen zu haben, um die XYZ Aufgabe zu erfüllen“ / etc.)
  3. Fügen Sie ein „Details >>“ Knopf, falls Ihr Benutzer geschieht Computer gut, einschließlich detaillierter Informationen (Ausnahme-Stack-Trace, Fehlercode, usw.)
  4. verstehen

Schließlich bieten einige einfache und verständliche Befehle für den Benutzer ( „Versuchen Sie es erneut“, „Abbrechen“, usw.)

Die eigentliche Frage zu Fehlermeldungen, wenn sie auch angezeigt werden sollen. Viele Fehlermeldungen an einen Benutzer präsentiert werden, aber es gibt keinen Weg für sie, um sie zu korrigieren.

Solange es einen Weg gibt, um den Fehler dann geben genügend Informationen, um den Benutzer zu korrigieren, die es ihnen ermöglichen, es auf eigene Faust zu korrigieren. Wenn sie nicht in der Lage sind, es auf eigene Faust zu korrigieren gibt es keinen Grund, sie den technischen Grund für den Absturz zu sagen? log es nicht nur um eine Datei zur späteren Fehlerbehebung zu erhalten.

Wie detailliert wie sie sein müssen;)

Ich weiß, es klingt wie ein Klugscheißer Antwort, aber so viel von diesem hängt von Ihrer Zielgruppe und die Art des Fehlers. Für Fehler, die durch ungültige Benutzereintrag verursacht, zeigen Sie sie können, was einen gültigen Eintrag darstellt. Für Fehler, dass der Benutzer nicht kontrollieren kann, ein generische „wir arbeiten daran“ Typ Nachricht tun könnte.

Ich stimme mit Jon B Kommentaren als auch in Bezug auf Länge.

Fehlermeldungen sollten detailliert sein, aber klar. Dies kann durch die Kombination von Fehlermeldungen aus mehreren Ebenen erreicht werden:

Failed to save the image
Permission denied: /foo.jpg

Wir haben hier zwei Ebenen. Es kann mehr sein. Zuerst sagen wir, das große Bild und dann sagen wir die Details. Die Reihenfolge ist so, dass wir zuerst den Teil von den meisten verstanden haben und dann den Teil weniger Menschen verstehen, aber beide noch sichtbar sein können.

Darüber hinaus könnte es ein fix Vorschlag sein.

würde ich auf der Seite näher irren, aber ich glaube, Sie Ihre eigene Frage beantwortet. Um die aufblasen in Code zu vermeiden dann nützliche Informationen in der Code / Fehlermeldung zur Verfügung stellen, aber Sie können mehr Details in der Dokumentation geben vielleicht oder mit Hilfedateien oder FAQ.

zu wenig Informationen, die schlechter ist meiner Meinung nach.

Wenn Sie eine Sprache mit einem reichen Innerlichkeit oder anderen Funktionen verwenden, ein Log-Entsprechung der Linie, die eine Prüfung fehlgeschlagen wäre nützlich. Der Benutzer kann dann nach vorne auf dem technischen Support oder sonst ausführliche Information erhalten, und dies ist keine zusätzlicher Code aufblasen, aber Ihren eigenen Code unter Verwendung von Informationen zur Verfügung zu stellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top