Heim  >  Artikel  >  Web-Frontend  >  10 Erfahrungen zusammengefasst aus der Verwendung von node.js für ein halbes Jahr_node.js

10 Erfahrungen zusammengefasst aus der Verwendung von node.js für ein halbes Jahr_node.js

WBOY
WBOYOriginal
2016-05-16 16:39:151088Durchsuche

Reden wir nicht über Immobilienpreise, Staus und Smog. . . Lassen Sie mich zunächst über meine Erfahrungen mit Node.js in den letzten sechs Monaten sprechen. . . Es handelt sich dabei alles um Probleme, die man bei der Arbeit antrifft, und um Lehren, die man durch Blut erlernt hat. .

1. Genaue Versionsnummer

„Es muss der spezifischen Versionsnummer entsprechen! Verwenden Sie *, um direkt zu scrollen, ^ und ~ funktionieren nicht!“ Als ich morgens zum ersten Mal in der Firma ankam, war der Kopf unseres Servers voller blutunterlaufener Augen (glaube ich). Er ist um welche Uhrzeit am Morgen eingeschlafen und hat sich bei mir beschwert: „Verdammt, die Version in package.json des Codes, den ich zuvor geschrieben habe, unterscheidet sich von der Version, die auf dem Server läuft. Als ich die neueste Version installiert habe, Ich habe wieder einen Fehler erhalten.“ Lassen Sie hier ein paar tausend Wörter weg. . .

Okay. Ich schlage mir zuerst selbst ins Gesicht. Früher wurde nur * verwendet. . . In den meisten Fällen ist es nicht erforderlich, die Versionsnummer fest zu codieren. Sie können auch ^ und ~ verwenden. Scannen Sie den Blinden:

semver
Versionsverwaltung in node.js

2. Testen

Stellen Sie sicher, dass Sie Testfälle schreiben. Nehmen Sie mich zum Beispiel: Der Teil, für den ich verantwortlich bin, umfasst den Filterteil (die Verwendung von regulärem Shenma-Filtertext, um nützlichen Text zu extrahieren). Bei Testfällen führen Sie jedes Mal, wenn Sie die Filterregeln ändern, npm test aus und alles wird gut. Wählen Sie das zu verwendende Testmodul entsprechend Ihren persönlichen Vorlieben aus, z. B. Mocha, Sollte, Klebeband, Tap, Supertest usw.

Versuchen Sie, es lokal auszuführen und erst nach erfolgreichem Test auf den Server hochzuladen. Nachdem ich den Code mehrmals geändert hatte (nur ein paar Zeilen), dachte ich, es könnte ein Problem vorliegen, aber sobald ich den Server neu startete, stürzte er ab. . Verdammt, mir fehlen Klammern oder so. . Diese Art von Problem kann auch durch die Verwendung von Editor-Plugins wie jslint oder jshint gelöst werden, um Syntaxfehler auf niedriger Ebene zu erkennen.

Sicherung des Servercodes. Die Methode, die ich derzeit verwende: Zunächst befinden sich zwei identische Projekte (Git-Bibliotheken, Dateinamen sind unterschiedlich) auf dem Server, eines läuft und das andere dient als Backup. Wenn es Codeänderungen gibt, gehen Sie zum Backup-Projekt und git pull, stoppen Sie dann das laufende Programm und starten Sie das Backup-Programm. Wenn das Programm nach einiger Zeit nicht aufhängt, d. h. nachdem es sich relativ stabil anfühlt, wird dieses Projekt als Hauptprojekt und das andere Projekt als Backup betrachtet. Wenn sich erneut Änderungen ergeben, wiederholen Sie die oben genannten Schritte und wechseln Sie zwischen Aktiv und Standby hin und her. Wenn das Programm hängt, wechseln Sie einfach zurück zu einem stabileren Gerät.

3. Verwenden Sie Debug

Debuggen ist beim Schreiben von Programmen unvermeidlich. Viele Leute verwenden die Allzweckkonsole.log() und sind daran gewöhnt, auch ich. . Persönlich lösche ich es entweder oder kommentiere es aus, nachdem ich console.log() verwendet habe. Löschen Sie es und es kann in Zukunft verwendet werden. Das Auskommentieren sieht hässlich aus. Zu diesem Zeitpunkt können Sie auch das Debug-Modul verwenden. Ich habe Node-Inspector noch nicht verwendet, daher werde ich keinen Kommentar abgeben.

4. Halten Sie den Code rationalisiert

Der Versuch, mit weniger Code mehr zu erreichen, ist auch eine Verbesserung und ein Test Ihrer eigenen Fähigkeiten. Einschließlich korrekter Einrückung, geeigneter Variablennamen, klarer Code-Organisationsstruktur usw. . Der Code ist optimiert und schön. Wenn etwas schief geht, ist es schneller, nach Fehlern zu suchen, als erst stundenlang herauszufinden, was ein Durcheinander von Code bewirkt.

Verwenden Sie CoffeeScript nicht, wenn Ihr Team es nicht verwendet. Erstens können andere Ihren Code nicht lesen und Ihnen nicht bei der Fehlerkorrektur helfen. Zweitens unterscheidet sich nach dem Auftreten eines Fehlers die Anzahl der Zeilen, die den Fehler anzeigen, von der Anzahl der Zeilen des Kaffeecodes. . . Sie können es für Ihre eigenen Open-Source-Projekte verwenden.

5. Bitten Sie um Rat und bewahren Sie unabhängiges Denken

Als ich anfing zu arbeiten, war ich über alles verwirrt, einschließlich technischer Mängel und Mängel in der Geschäftslogik, deshalb habe ich oft die Experten im Team um Rat gefragt. Dann werde ich versuchen, die technischen Mängel auszugleichen und die Geschäftslogik zu klären. Später musste ich eine API entsprechend den Anforderungen des PM entwerfen. Ich musste die Bedürfnisse der Benutzer (Multi-Client-Situation), die Bedürfnisse und Verhaltensweisen der Clients und das Design der Datenbank (Speicherung) berücksichtigen weniger redundante Daten, weniger Abfragen und einfache Erweiterung (einfache Änderung, differenzielle Abfrage) usw. Ich habe mehr als eine Woche darüber nachgedacht und wäre fast zusammengebrochen. . . Obwohl ich es schon oft mit dem Chef besprochen habe, gibt es mir immer die Logik, verrät mir aber nicht die Methode. Später fand ich endlich eine ziemlich gute Lösung. . Er sagte mir später auch, dass er wollte, dass ich unabhängig denke und Probleme löse, damit ich mich verbessern kann. .

6. Vorhandene Bibliotheken nutzen

Derzeit gibt es auf npm fast 9 W Module von Drittanbietern. Natürlich gibt es auf npm viele hervorragende Module . Es ist normalerweise ein zufriedenstellender Bedarf. Wenn Sie feststellen, dass ein Modul die meisten Anforderungen erfüllt, funktionale Verbesserungen aufweist oder Fehler aufweist, können Sie eine PR auf Github einreichen. Wenn Sie feststellen, dass Sie kein Modul finden, das Ihren Anforderungen entspricht, können Sie selbst eines erstellen und veröffentlichen npm. Teilen Sie es mit allen. Wenn Sie feststellen, dass ein bestimmter Modultyp, der eine bestimmte Funktion implementiert, sehr beschissen ist, können Sie natürlich auch ein Modul veröffentlichen, das nicht beschissen ist.

7. Halten Sie es einfach

Wenn Sie ein Kreisdiagramm anzeigen möchten, verwenden Sie einfach HTML5-Canvas oder CSS3. Es ist nicht erforderlich, die Canvas-Bibliothek von C zu verwenden, um ein Bild zu zeichnen. „Allein das Herunterladen der abhängigen Bibliotheken ist 400 MB groß“, sagte Toutou.

8. Gute Dokumentation

Gute Dokumentation ist der wichtigste Kanal für die Kommunikation zwischen den Client- und Serverteams. Die Dokumentation ist eindeutig geschrieben. Wenn eine Client-Anfrage fehlschlägt, können Sie zuerst die Dokumentation überprüfen (z. B. was jeder Fehlercode darstellt), anstatt jedes Mal zum Server zu gehen, um dies zu besprechen. PS: Versuchen Sie, einige HTTP-Anforderungsbeispiele anstelle von Objekten in js zu schreiben. Vielleicht können Sie es verstehen, aber die Leute auf dem Client verstehen js nicht.

9. Konfigurationsdatei

Erstellen Sie in jedem Projektverzeichnis eine Konfigurationsdatei, z. B. config.js/config.json. Anstatt es fest in den Code zu codieren. Zum Beispiel:

{
„app“: 3000,
„mongo“: {
„host“: „localhost“,
„Port“: 27017
},
„redis“: {
„host“: „localhost“,
„Port“: 6379
}
...
}
10. Verwenden Sie pm2

Es ist sehr praktisch, Prozessmanagement-Tools wie pm2 zu verwenden. Im schlimmsten Fall kann der Prozess automatisch neu gestartet werden, wenn er abstürzt. Niemals benutzt. Keine Bewertung. . Außerdem habe ich Grunt Shenma nicht verwendet, daher werde ich dazu keinen Kommentar abgeben.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn