Frage

Entwickler-Tools und Software in der Regel nicht bieten Lösungsvorschläge in Fehlermeldungen . Dies macht Sinn für Compiler, weil sie angeblich sagen, genau , was schief gelaufen ist.

Es gibt "Fussel" Tools Anregungen geben, aber AFAIK, wenige Entwickler verwenden Flusen Tools regelmäßig oder sogar überhaupt nicht.

Es gibt eine große Gruppe von Entwicklern-orientierte Software, die gut tun würde, einen hat „vorgeschlagene Lösung (en)“ Teil auf Fehlermeldungen . Dies ist eines der großen Features, die IDEs wie Eclipse haben. Aber Software wie Web-Applikations-Frameworks, Standard / populäre Bibliotheken usw. nicht über diese hilfreiche Funktion hat.

Ist das etwas, das gerade in benutzerfreundliches Design fehlt (kann man betrachtet dies nicht notwendig, da Google so gut ist), oder gibt es einen guten Grund dafür? Führen Sie einen Compiler, Frameworks, Plattformen, die Sie Fehler verwenden, um Nachrichten mit Lösungsvorschlägen zur Verfügung stellen, wenn keiner, warum nicht?

War es hilfreich?

Lösung

Die primäre Sache, die ich von einem Compiler oder Laufzeitfehlern will Kontext ist - wo ist es passiert und wo hieß es aus, wenn es versagt.

Ich denke, die meisten modernen Compiler und Runtimes (Java, Ruby, Go) gibt einen anständigen Job zu tun, mit Zeilennummern und Stack Spuren können Sie die meisten Fehler finden. Selbst die Javascript-Optionen gut bekommen, schlägt es auf jeden Fall das gute alte „alert ()“ Konzept für die Fehlersuche.

Ist es nicht fair genug vorgeschlagenen Lösungen zu dem IDEs zu verlassen?

Aber ich stimme zu, dass ich Frameworks gesehen haben / Bibliotheken, die mit Fehlermeldungen sehr spärlich waren, und „Nullpointer in Zeile 264“ tief in einiger Drittanbieter-Bibliothek, wo Sie nicht über den Quellcode sagen Sie ganz in der Nähe nichts .

Wenn dies ein Problem ist, ich denke, es ist in erster Linie auf Bibliotheken von Drittanbietern beschränkt ist. Der „gute Grund“ ist vermutlich, dass es in Eile in jemandes Freizeit entwickelt wurde, und sie haben setzen nicht aussagekräftige Fehlermeldungen sehr hoch auf der Prioritätenliste.

Andere Tipps

Was möchten Sie sehen?

Error: Null Pointer Exception (suggested solution: Set the object to something).

Ich meine, es ist nicht der Fehler Schriftsteller Job, den Sie zu erziehen. Ich ziehe es einfach Fehlermeldungen, die auf das genaue Problem hinweisen, so kann ich selbst bestimmen, was es diesmal verursacht. dies sicherlich Linien im Bereich der 3rd-Party-Tool für mich; vielleicht die Compiler umfassenden Kontext zu ihnen bieten könnten, ihre Analyse zu tun, aber es ist nicht etwas, was ich wirklich wertvoll finden würde.

Es ist schwer für die Lösung zu einem Fehler präsentiert. Es gibt so viele Möglichkeiten und wie @silky darauf hingewiesen, können einige einfach nicht diagnostiziert werden.

Warnungen ist ein anderes Tier. In vielen Situationen moderne Compiler diese verwenden, zu sagen: „Ich glaube, du X gemeint, als Sie sagten, Y, man könnte das überprüfen möchten.“

Eine Programmiersprache hat die Möglichkeit, ein Höchstmaß an Flexibilität in Bezug auf die Benutzeroberfläche zu sein. Sie können den Computer machen tun, was Sie wollen. Die Kehrseite der Medaille ist, dass, wenn Sie so viel wie ein Zeichen falsch eingeben, es könnte keine Ahnung hat, entlang denen Sie Ihre Fehler Achse gemacht wurden, oder wo.

Systeme mit weniger Flexibilität bieten mehr Möglichkeiten für Lösungen für Probleme anbieten. Wenn Sie geben (a b c) zu Ihrem Lisp-Compiler und es weiß nicht, was ein, es ist so nah an so viele gültige Codezeilen, die es nicht gerade eine einzige fix vorschlagen kann. Wenn Sie „IDENTIFICATION DIVISION“ zu Beginn des COBOL-Programms falsch schreiben, ist es relativ einfach für die Compiler, den Fehler zu erkennen und Ihnen zu helfen. Die meisten anderen Sprachen liegen zwischen diesen beiden Extremen.

Programmierer neigen dazu, mich zu bewegen, über ihre Laufbahn, von weniger leistungsfähig und strukturierten Sprachen, in leistungsfähige und flexibleren Sprachen. (Zumindest ist es das, was ich sah, passieren, bevor Javascript wurde solch eine heiße newbie Sprache.) Das bedeutet, dass ihre Disziplin zu dem Punkt verbessert, wo sie in der Lage, Werkzeuge zu verwenden, die Macht auf Kosten des bieten gesagt, was zu tun ist. Die Umgebungen die ich verwendet habe, die mir was sagen kann, zu beheben, sind in der Regel diejenigen, die ich mit Abneigung.

Es ist nicht anders als jede andere Kunst. Schauen Sie sich Musiker oder Maler oder Kampfkünstler oder Schauspieler oder Schriftsteller oder Köche oder sogar Menschen zu lernen, Spanisch zu sprechen: wenn sie jung und unerfahren sind, dann sind sie in einem System gebracht, wo eine Menge Struktur da ist, und wenn sie einen Fehler machen jemand kann sie leicht korrigieren. Da sie mehr qualifizierte werden, sie brauchen und wollen immer weniger Unterstützung. Als sie Experten selbst geworden sind, müssen sie überhaupt keine Unterstützung, aber die Kehrseite der Medaille ist, dass Sie nicht so leicht kann darauf hinweisen, was richtig oder falsch ist. Wenn Ihr Kind Farben außerhalb der Linien, können Sie das Problem erklären, aber wenn Picasso oder Pollock einen schlechten Pinselstrich macht, was würden Sie sagen? Oder wenn Philip Glass legt eine Notiz deplatziert oder Bruce Lee dreht seinen Körper zu weit in einen Schlag? Und wer möchte in einer Kunstform arbeiten, die so begrenzt sind, dass profane Dinge sind nicht möglich? COBOL-Compiler noch existieren, wenn jemand will, dass sie wirklich, aber weit mehr Menschen zahlen Geld für schreckliche Bilder als meistes Farbe-by-Nummer druckt.

Mehr direkt, gibt es eine Website, ErrorHelp (geborene bug.gd), die Sie in können eingeben eine Fehlermeldung und erhalten ein Ergebnis, und es ist älter als SO aber niemand nutzt es . Ich habe es versucht. Sofern Sie in einem Kontext sind, wo es nur ein mögliche Antwort, ein einfaches Problem angetroffen vorgeschlagen-Lösung Wörterbuch nicht funktioniert, und deshalb ist es ein völliger Ausfall in einem kreativen Bereich.

Die meisten IDE haben ihre eigenen Compiler. Dies ermöglicht es ihnen teilweise Kompilierung Code Refactoring, und viele andere Tricks zu tun. Ich finde, die Fehlermeldungen und Anregungen sehr nützlich. Nur weil der Compiler nicht auf der Kommandozeile aufgerufen wird, bedeutet nicht, es ist kein Compiler.

alt text http://www.theeggeadventure.com /wikimedia/images/1/1f/Eclipse-error.png

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