2009-08-27 10 views
2

Ist das Debuggen von JavaScript so einfach wie das Debuggen einer C++/C#/Java-Anwendung (angesichts der besten verfügbaren IDE), oder sind die aktuellen Tools viel eingeschränkter und weniger benutzerfreundlich, was das Debugging zu einem Problem macht?Debuggen Sie JavaScript so einfach wie das Debuggen einer C++/C#/Java-Anwendung?

+0

Du stellst dumme Fragen. Beginnen Sie einfach Javascript zu lernen, indem Sie ein Tutorial lesen und aufhören, ein Huhn zu sein! –

Antwort

3

Mit Addons in FireFox (FireBug, GreaseMonkey nur einige zu nennen) zusammen mit der Unterstützung von IDEs wie Visual Studio, macht es ziemlich einfach, Javascript zu debuggen. Ist es so "einfach" wie Java, C#, etc. Ich denke, das hängt wirklich von Programmierer zu Programmierer. Ich kenne eine Menge Programmierer, die das Programmieren und Debuggen von JavaScript als das Schrecklichste der Welt betrachten, obwohl sie über alle Tools verfügen, die ihnen zur Verfügung stehen. Es scheint mir nicht so schwierig zu sein, aber ich habe mit der Programmierung von JavaScript begonnen, als es keine Tools gab, die bei der Fehlersuche helfen konnten. Wie bei vielen Dingen ist alles eine Frage der Perspektive.

+0

Firebug ist ein erstaunliches Add-on für Firefox für Web-/Javascript-Entwicklung. Keine Installation ist ohne sie abgeschlossen, IMHO. –

+1

Obwohl "genügend" Javascript-Dev-Tools existieren, gibt jeder zu, dass sie nicht das gleiche Kaliber wie native PC-Entwicklungstools sind. –

1

In Visual Studio 2008 gibt es ziemlich gute Unterstützung für das Debuggen von JavaScript ... Haltepunkte funktionieren, und Sie können den Mauszeiger über Variablen bewegen, um ihre Werte usw. zu sehen. Dies ist der beste Weg, um JS zu debuggen.

+0

Nur für IE ... –

1

Ich finde es ziemlich schmerzlos mit Firebug. Es kommt mit einem vollen Debugger. Dynamische Sprachen sind jedoch schwieriger zu debuggen, wenn sie stark von Closures und funktionalen Abstraktionen Gebrauch machen.

3

Das Firebug-Plugin macht das Debuggen von JavaScript relativ einfach - ich würde sagen, dass es zumindest mit dem Debuggen einer C# -Anwendung vergleichbar ist.

0

Nein, JavaScript ist schrecklich schlampig Sprache. Sie müssen ein Tool wie Firebug oder JSLint verwenden, um beim Debuggen zu helfen, oder Sie werden Ihr Problem möglicherweise nie in einer großen Anwendung finden.

ist hier etwas von warum JavaScript ist so Problem anfällig:

  • Undeclared Variablen innerhalb einer Funktion global sind standardmäßig scoped.
  • JavaScript ermöglicht schlampige Zeilenumbrüche und versucht, Semikolons einzufügen, die beim Kompilieren fehlen. Dies kann deinen Code zerstören.
  • JavaScript hat Probleme beim Typvergleich, wenn Gleichheitsvergleich "==" verwendet wird. Sie müssen den Gleichheitsvergleichstyp "===" oder den Ungleichheitsvergleichstyp "! ==" verwenden, um diese Probleme zu umgehen.
  • JavaScript hat viele weitere Probleme, die keine gut geschriebene Sprache hätte. Ich empfehle das Buch The Good Parts zu lesen, um viele Fallen zu vermeiden und Programme zu schreiben, die schön, effizient und wartbar sind.

http://jslint.com/

+3

+1. Eine gute Liste von Kompilierzeitproblemen. -1 "schrecklich schlampig", eine Meinung nicht von allen geteilt und nicht relevant., IMO C++ ist auch "schrecklich schlampig". Persönlich halte ich Javascript für eine ausgezeichnete Sprache, solange Sie es in die Perspektive stellen, dass es eine "Skriptsprache" ist. Ich möchte nicht eine ganze LOB-App darin schreiben. – AnthonyWJones

2

Ein wichtiger Punkt, dass die Antworten bisher verpasst haben, ist, dass im Gegensatz zu C++/C#/Java Sie weit weniger Hilfe bei „Übersetzen“ Zeit.

Daher eine Javascript-Debugging-Sitzung wird oft eine erhebliche Menge an Zeit mit der Entdeckung einer Reihe von Bugs, die sehr schnell und einfach von den anderen abgeholt werden würde, bevor alles überhaupt ausgeführt hat.

Also die Antwort ist ein klares Nein, es ist schwieriger, Javascript als die anderen aufgeführten Sprachen zu debuggen.

1

Firebug bringt JS aus der Steinzeit, ist aber nicht so elegant wie Debuggen von .NET. PC-Entwicklungstools nutzen vielleicht 10 Jahre extra Evolution ...