Heim >Web-Frontend >js-Tutorial >Zusammenfassung des Node.js-Lernens: Methoden zum Debuggen von code_node.js
Vorwort
Hatten Sie beim Debuggen eines bestimmten Codeabschnitts jemals das Gefühl, dass ein Geist auf der Welt wäre?
Haben Sie jemals das Gefühl gehabt, dass es beim Debuggen einer API ein Problem mit dem Aufruf einer Schnittstelle eines Drittanbieters oder eine falsche Dokumentation gab?
Haben Sie jemals einen Fehler behoben und hatten immer das Gefühl, dass die Ursache des Problems in der falschen Verwendung lag?
Hatten Sie schon einmal das Gefühl, dass bei der Installation eines Dienstes die Dokumentation oder Umgebung nicht den Anforderungen entsprach?
Glauben Sie an den Prozess und die Methoden und lassen Sie sich nicht von den Ergebnissen täuschen.............
Übersicht
Das Debuggen von Code ähnelt oft der Untersuchung eines Falls, aber die Bedeutung der Ergebnisse ist unterschiedlich. Die Polizei untersucht Fälle im Interesse der Stabilität der Menschen, während wir im Interesse der Stabilität des Systems debuggen. In diesem Fall sollten wir keinen Code oder kein Programm zu Unrecht beschuldigen, damit sie nicht unangemessen bestraft werden.
Einige der folgenden Prozessmethoden stammen aus einer persönlichen Zusammenfassung. Aus persönlicher Sicht sind einige der vorherigen Methoden natürlich eher theoretisch, aber als persönliche Methode möglicherweise Für DS wie mich besser geeignet sein.
Testmethode
Code-prozedurale Debugging-Methode
Das erste, worauf Sie beim Debuggen von Code achten müssen, ist der Prozess, der zum Endergebnis führt, dh der Prozess der Begehung des Verbrechens. Sie können das Ergebnis des Verbrechens aus dem Schritt ermitteln -Schrittweise Verfolgung des Straftatenprozesses. Bei der Analyse des Kriminalitätsprozesses muss jeder verdächtige Punkt markiert werden (d. h. die im Code genannten Protokollinformationen). Nach einem solchen Analyseprozess werden Black-Box-Tests durchgeführt, Eingaben hinzugefügt und die Ergebnisse überprüft. Überprüfen Sie abschließend Ihr Urteil anhand der Noten bei jedem Schritt, um den Grund herauszufinden.
Die obige Lösung ist eine prozedurale Anpassungsmethode. Die Vorteile dieser Methode liegen auf der Hand. Sie können den gesamten Prozess direkt durch einen Test analysieren. Es ist jedoch in Ordnung, die eigene Codelogik zu klären Codes. Es ist schwierig, den Himmel zu erreichen.
Komponententest-Debugging-Methode
Der Hauptzweck von Unit-Tests besteht darin, den normalen Betrieb einer bestimmten Funktion, Klasse oder eines Funktionsmoduls sicherzustellen, einschließlich der Prüfung und Überprüfung abnormaler Situationen. Als Programmierer ist die bevorzugte Überprüfungsmethode „Piling“ (Piling bedeutet, dass falsche Standarddaten bereitgestellt werden). Ein Nachteil besteht jedoch darin, dass sie nicht erneut verwendet werden kann, da wir überprüfen, ob sie normal ist. Viele Entwickler werden es kommentieren oder löschen. Wenn wir also die Entwicklung in der Entwicklungsumgebung abschließen, es aber in der Testumgebung überprüfen möchten, müssen wir einen Teil der Stapellogik neu schreiben Wenn es um das Live-Netzwerk geht, wird es problematischer. Da es so viele Unannehmlichkeiten gibt, können Sie Folgendes versuchen.
Fügen Sie eine Unit-Test-Klasse hinzu. Sie kann nur über die Hintergrundanmeldung oder die Befehlszeile ausgeführt werden. Die Funktion dieser Klasse besteht darin, die Schlüssellogik des Systems zu erkennen und entsprechende Testausgabeergebnisse zu erstellen. . Wir müssen glauben, dass alle Schnittstellenklassen durch Unit-Test-Klassen getestet werden können. Oftmals fragen sich Programmierer: Sollten wir das tun? Tatsächlich müssen wir es wirklich tun. Schließlich werden viele Tests jetzt als Black-Box-Tests durchgeführt.
Diese Debugging-Methode eignet sich für den Entwicklungsprozess und kann sicherstellen, dass unser aktueller Netzwerkcode nach der Veröffentlichung normal ausgeführt wird. Ich hoffe, dass jeder diesen Prozess in die Entwicklungsphase einbezieht, wenn er die Entwicklungszeit plant.
Schnelle Positionierungsmethode
Sind die ersten beiden komplizierten Prozesse zu idealistisch? Mein Code besteht nur aus 100 Zeilen und das System ist nicht kompliziert. Wenn dies der Fall ist, führen Sie schnell eine Positionierungsanalyse durch. Wir stoßen oft auf
1. Die Eingabe ist normal und die Ausgabe ist abnormal;
2. Die Eingabe ist normal, die Logik ist abnormal und die Ausgabe ist abnormal;3. Die Eingabe ist abnormal, die Logik ist normal und die Ausgabe ist normal;
4. Eingabeanomalie, Logikanomalie, Ausgabe nichts.In meinem persönlichen Entwicklungsprozess stoße ich häufig auf einige der oben genannten Arten von Problemen. Beispielsweise stoße ich während der Entwicklung von Node.js auf die Meldung string.length, dass es für string keine Längenmethode gibt. Damals war ich verwirrt und fragte mich: Warum haben andere Strings eine Längenmethode, warum nicht diese? Viele Schüler sollten wissen, dass das Problem darin besteht, dass diese Zeichenfolge überhaupt keine Zeichenfolge ist. Dies bedeutet lediglich, dass Sie sie zu einer Zeichenfolge idealisiert haben, was bedeutet, dass mit Ihrer Eingabe etwas nicht stimmt. Der beste Weg, dieses Problem zu lokalisieren, besteht also darin, die Eingabe und die Ausgabe zu drucken.
Vielleicht sind andere Programme nicht so einfach, aber das Grundlegendste ist, die Ein- und Ausgabe von Funktionen zu beurteilen, bei denen in der Hauptfunktion Ausnahmen auftreten, damit diese schnell gefunden werden können.
Denken Sie daran: Nehmen Sie es nicht aus dem Kontext und denken Sie, es sei richtig.
Die oben genannten Methoden und Prozesse werden nur basierend auf PHP oder Node.js zusammengefasst. Es können Ähnlichkeiten oder Unterschiede für C & C bestehen. Wenn es Ihnen nicht gefällt, sprühen Sie es nicht, sondern schauen Sie einfach zu und schätzen Sie es.