Frage

Ich habe eine Anwendung, die eine Datenbank und gibt Warnungen an irgendwelche Abhängigkeiten liest, der nicht erfüllt sind. Mein Denken zu diesem Thema ist „Geben Sie die Mindestinformationen, die den Benutzer auf das Problem hinweist.“ Ich wurde von einem Mitarbeiter gesagt, dass ich möglichst umfangreich sein sollte, für jedes Feld die Werte der Datenbankfelder Ausdrucken ich Verse erwähnen die Mindest Nachricht zu geben, dass „Feld ein weniger sein muss, dann Feld zwei“.

Ich weiß, dass es muss eine Konvention bzw. ein Standard für dieses Problem sein, da es mir von Compiler-Fehler und Warnungen erinnert. Hat jemand wissen, wie eine Compiler-Nachrichten ausgewählt werden?

Welcher Vorschlag hat die Gemeinschaft hat für dieses Problem?

War es hilfreich?

Lösung

Beim Schreiben Ihrer Zielgruppe kennen.

Wenn Sie Warnung / Fehlermeldungen für den eigenen Verbrauch sind angemeldet haben, dann ist es ziemlich einfach: Was tun Sie müssen wissen, wenn etwas schief geht

Wenn Sie Warnung / Fehlermeldungen für jemand anderes sind angemeldet haben, dann werden die Dinge kompliziert. Was wissen sie? Was macht ihr mentales Modell des Systems aus? Welche Art von Problemen können sie zu lösen, und welche Informationen benötigen sie, sie zu lösen?

jeden letzten Schrott von Daten in eine Nachricht Pushing wird Tochern - im besten Fall, wird der Leser durch irrelevante Informationen, um waten zu finden, was sie brauchen; im schlimmsten Fall, werden sie verwirren und Entscheidungen am Ende auf der Grundlage der falsch Daten.

Die Compiler Analogie ist apt: denken, wie ärgerlich es wäre, wenn die gesamte Symboltabelle zusammen mit jeder Warnung ausgegeben wurde ...

Andere Tipps

Ich denke, der Schlüssel sein prägnant ist. Legen Sie so viele Details wie aus dem Grund erforderlich ist für die Warnung mehr kommuniziert und nichts werden.

Für die normalen, von Tag zu Tag Betrieb, gebe ich eine Datenvalidierungsnachricht, die genügend Informationen gibt, dass der Benutzer das Problem beheben kann, so dass die Daten überprüft. Zum Beispiel, wenn ich zwei Felder (FieldA und FieldB) und einer von ihnen müssen größer sein als die andere, dann würde ich das auf der Validierung Ausgabe angeben, spezifiziert, welches Feld ist das säumige Feld.

Zum Beispiel, wenn A größer als B sein muss, und sie liefern eine Antwort kleiner als B, dann würde die Meldung „FieldA muss höher sein als FieldB“

Das heißt, ich programmiere auch eine Debug-Modus in meine Anwendungen (vor allem die Web-Anwendungen), die einen ausführlichen Modus hat, zu sagen, was genau mit allem, was passiert ist. Wenn das auf Sie drehte zwei Nachrichten sehen würde, die benutzerfreundliche Fehler, und dann „FieldA = XX und FieldB = YY: XX ist nicht größer als YY“.

Das ist vereinfacht, aber es ist die allgemeine Idee.

Ich würde vorschlagen, dass Sie beide Modi implementieren sollten. Während des normalen Betriebs benötigen Sie eine nützliche, aber kurze Nachricht. Aber manchmal könnte die Dinge schief gehen und in diesem Fall eine ‚Dump‘ Modus, der dem Benutzer alle möglichen Informationen gibt, ist ein Lebensretter.

Ich denke, es gibt drei Ebenen der Details einer Fehlermeldung für die drei typischen Benutzergruppen:

  1. Der Endbenutzer. Dies ist ein Surfer auf einer Website oder einen Benutzer einer Desktop-Anwendung. Er sollte eine Fehlermeldung, wenn das Problem nicht kompensieren kann. Es sollte ein Minimum an Informationen enthält. Der Endanwender sollte keine Informationen über das System wie aktuelle Konfiguration und Dateipfade empfangen. Der Endanwender sollte den Administrator. Ein kontinuierliches Fehler-ID kann hilfreich sein, dass der Administrator weitere Informationen finden.
  2. Der Administrator muss weitere hilfreiche Informationen, das Problem selbst zu lösen. Es kann Informationen enthalten, wie Tabelle xy nicht zur Datenbank fehlgeschlagen fount oder einloggen.
  3. Der Entwickler: Wenn der Administrator kann das Problem nicht lösen, dann wird es den Software-Anbieter kontaktieren. In diesem Fall sollte der Administrator in der Lage sein, eine Protokolldatei zu senden, das der Entwickler es auch lösen kann, wenn er das Problem nicht reproduzieren kann.

Die Besonderheiten des Inhalts eines Protokolls diskutiert werden kann, aber es ist meine Erfahrung, dass die Stufe der Ausführlichkeit schnell während Stresstest .
Wenn das System nicht richtig funktionieren kann, ist es, weil man einfach:

  

Atwood : Wir waren so Protokollierung, dass das Protokoll .... während des Log-Aufruf ein anderes Protokoll Anruf wurde ausgelöst wird. Welches ist in der Regel in Ordnung, aber mit der Last, die wir haben, schließlich würden sie so nahe kommen zusammen, dass es auch eine Sperre. So gibt es zwei Schlösser an dorthin zu gehen.

     

Spolsky : [...] Sie haben eine Tendenz zu wollen alles protokollieren. Aber dann bekommt man nur Protokolle, die sind, wissen Sie, hundert Megabyte pro Benutzer und Sie erhalten dreißig von ihnen eine Minute und es kann unmöglich analysiert oder in irgendeiner Art und Weise angemessen gelagert werden. Also das nächste, was Sie tun müssen, ist Ihre Protokolle zu starten Culling oder einfach nur verschiedene Ebenen der Fehlersuche, wo es heißt, in hohen Debug-Modus alles protokolliert und im niedrigen Debug-Modus nichts protokolliert. Und ... es ist irgendwie schwer, herauszufinden, was Sie wirklich in einem Protokoll werden sollen.

     

Atwood . Ich meine, dass ironischerweise diese hängen zu beheben, die aufgrund der Protokollierung entpuppte, waren wir mehr Protokollierung hinzugefügt

     

Spolsky : [lacht]

     

Atwood : Der Witz gerade schreibt selbst! Der Witz gerade schreibt selbst, nicht wahr ...

Also mein Punkt ist, wenn Sie Ihr System in einer produktionsähnlichen Umgebung ausgeführt werden, sollen Sie schnell in der Lage sein, zu bestimmen, ob die Stufe der Ausführlichkeit Sie wählen nachhaltig ist.

Umgang mit Fehlern Vs. Warnungen zuerst: Ein Fehler sollte etwas sein, das den Standard verstößt. Eine Warnung sollte etwas sein, was erlaubt ist, aber sehr wahrscheinlich nicht das, was der Autor beabsichtigt.

Zum Beispiel warnt die W3C Markup Validator über die Verwendung der Syntax
in einem HTML-Dokument. In XHTML bedeutet dies „ein Zeilenumbruch“, sondern in einem HTML-Dokument, während erlaubt wird, bedeutet eigentlich „ein Zeilenumbruch gefolgt von einem größer-als-Zeichen“ (auch wenn die meisten Browser dies nicht respektieren).

Wie für Ausführlichkeit, was das Beste tut abhängen, die das System verwendet. Einige Benutzer wäre besser, mit kurzen Nachrichten, die sie überfliegen können, während andere Benutzer (vielleicht diese weniger weit fortgeschritten) die zusätzlichen Informationen nützlich finden würde. Ohne mehr zu wissen, wer sie sind, würde ich dazu neigen, eine Flagge (-v ist traditionell) in Richtung mit der Benutzer auswählen zu lassen, welche Version sie bevorzugen.

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