Mit der Verbesserung der Browserleistung und der stetigen Einführung der neuen HTML5 -Programmierschnittstelle nimmt das Volumen von JavaScript auf Webseiten allmählich zu. Ein schlecht geschriebenes Programm hat jedoch das Potenzial, die gesamte Website zu brechen, Benutzer zu frustrieren und potenzielle Kunden zu vertreiben.
Entwickler müssen alle Tools und Techniken verwenden, die sie verwenden können, um die Qualität ihres Codes zu verbessern, und sicher sein, dass jede Ausführung vorhersehbar ist. Dies ist ein Thema tief in meinem Herzen, und ich habe jahrelang daran gearbeitet, eine Reihe von Schritten zu finden, die während des Entwicklungsprozesses befolgt werden sollen, um sicherzustellen, dass nur der Code von höchster Qualität veröffentlicht werden kann.
Befolgen Sie einfach diese sieben Schritte, um die Qualität Ihres JavaScript -Projekts erheblich zu verbessern. Mit diesem Workflow werden Fehler verringert und viele Verarbeitungsoptimierungen werden gemacht, was den Benutzern ein angenehmes Browsing -Erlebnis bietet.
01. Code
Rufen Sie zunächst den strengen Modus von ECMascript5 und eine "strenge Modus" -DEklaration in Ihrer Funktion an und verwenden Sie den Entwurfsmodus dieses Moduls. Im Verschluss der Selbstversorgungsfunktion sollte die Verwendung globaler Variablen über das unabhängige Codemodul von Sandbox und über externe Abhängigkeiten minimiert werden, um das globale Variablenmodul klar und präzise zu halten. Verwenden Sie nur etablierte, bewährte, gut getestete und gut ausgebildete Bibliothek und Frameworks von Drittanbietern und halten Sie Ihre Funktionen mit einem geringen Wert, wobei Sie alle Geschäftslogik oder Daten von Ihren Modulvorgängen und anderen Ansichtsschichtcode trennen.
Larger projects with multiple developers should follow a set of established coding principles, such as Google's JavaScript style guide, and require stronger code management rules, including strict dependency management through a library such as RequireJS, using package management using asynchronous module definitions (AMD), using package management using Bower or Jam (client library management tool) to refer to specific versions of your dependency files, and adopting structural design patterns such as observer mode to facilitate loosely gekoppelte Kommunikation zwischen verschiedenen Codemodulen. Dies ist auch eine kluge Idee: Verwenden Sie ein System von Code -Repository -Systemen wie Git oder Subversion, um Ihren Code in der Cloud durch einige Dienste wie Quellcode oder magische Bohnen zu lagern, die Möglichkeit zu geben, frühere Versionen wiederherzustellen, und einen Zweig mit Code für fortgeschrittenere Projekte erstellen, um unterschiedliche Funktionen auszuführen, sie zu vervollständigen.
02. Datei
Verwenden Sie strukturierte Annotationsblockformate wie Yuidoc oder JSDOC zur Funktionalität der Datei, sodass jeder Entwickler seinen Zweck verstehen kann, ohne seinen Code zu untersuchen, was Missverständnisse verringern kann. Die Verwendung von Markdown -Syntax kann reichere, lange Kommentare und Erklärungen haben. Verwenden Sie das zugehörige Befehlszeilen -Tool, um automatisch ein Dokument auf der Website zu generieren: Basierend auf diesen strukturellen Meinungen stimmt es mit allen in Ihrem Code vorgenommenen Änderungen überein.
03. Trackanalyse
Führen Sie regelmäßig ein Tool für statische Codeanalyse in Ihrem Code aus, z. B. JSHINT oder JSINT. Diese Überprüfungen über bekannte Codierungsfehler und mögliche Fehler, wie das Vergessen, strenge Muster zu verwenden oder nicht deklarierte Variablen zu verweisen, und fehlende Klammern oder Semikolons. Korrigieren Sie alle Probleme mit Tool -Steuerelementen, um die Qualität Ihres Codes zu verbessern. Setzen Sie die Standardoptionen für Ihr Projektteam ein, um die Codierungsstandards zu verbessern, z. B. die einzelnen Zeile nach Leerzeichen, in der lockigen Klammern platziert werden und einzelne oder doppelte Zitate in der gesamten Codedatei verwendet werden.
04. Test
Ein Unit -Test ist eine der Funktionen einer kleinen unabhängigen Funktion: Führen Sie eine der Funktionen aus der Hauptcode -Basis Ihrer spezifischen Eingabe aus, um zu bestätigen, dass er einen erwarteten Wert ausgibt. Um Ihr Vertrauen zu erhöhen, schreibt der Code Frameworks, die wie erwartet verwendet werden, wie Jasmine oder Qunit für jeden Funktionseinheitstest unter Verwendung erwarteter und unerwarteter Eingabeparameter. Aber vergessen Sie nicht diese Randsituationen!
Führen Sie diese Tests an mehreren Browsern über mehrere Betriebssysteme hinweg aus, sodass Sie in Ihren Anforderungen Tests auf virtuellen Maschinen in der Cloud beschleunigen können, indem Sie diesen Service nutzen, z. B. BrowsStack- oder Sauce Labs. Diese beiden Dienste bieten eine API, mit der Ihre Unit -Tests gleichzeitig auf mehreren Browsern automatisch ausgeführt werden können. Sobald sie abgeschlossen sind, werden die Ergebnisse an Sie zurückgesetzt. Wenn Ihr Code auf GitHub gespeichert ist, können Sie Browserswarm einnehmen, ein Tool, mit dem Ihre Unit -Tests automatisch ausgeführt werden, wenn Sie Ihren Code einreichen.
05. Messung
Tools zur Codeabdeckung wie Istanbul messen, welche Codezeilen ausgeführt werden, wenn Ihr Unit -Test in Ihrer Funktion ausgeführt wird, und melden Sie ihn als Prozentsatz der Gesamtzahl der Codezeilen. Durch das Ausführen eines Code -Deckungs -Tools für Ihre Unit -Tests und das Hinzufügen zusätzlicher Tests können Sie Ihre Abdeckungsbewertung auf 100%erhöhen, wodurch Sie mehr Vertrauen in Ihren Code erhalten.
Die Komplexität einer Funktion kann anhand der Hallstead -Komplexitätsmetrik gemessen werden: die Gleichung, die der Informatiker Morris Hallstead in den 1970er Jahren festgelegt hat. Die Komplexität einer Funktion wird basierend auf Schleifen und Zweigen quantifiziert, und die Funktion Aufrufe enthält: Die Komplexität einer Funktion kann unter Verwendung der Komplexitätsmessungen von Halstead gemessen werden. Wenn dieser komplexe Score abnimmt, ist es einfacher, diese Funktion zu verstehen und aufrechtzuerhalten, wodurch die Möglichkeit von Fehlern verringert wird. Die Visualisierung der generierten Daten des Befehlszeilen -Tools Platon -Messungen und der Komplexität von JavaScript -Code hilft, die Funktionalität zu bestimmen, die beim Speichern früherer Ergebnisse verbessert werden kann, wodurch die Verfolgung von Qualitätsverbesserungen im Laufe der Zeit ermöglicht werden kann.
06. Automatisierung
Verwenden Sie Aufgabenläufer wie GRUNT, um den Prozess der Dateikompilierung, Analyse, Tests, Deckung und Komplexitätsbericht automatisch zu betreiben, was Ihnen Zeit und Mühe spart und Ihre Chancen erhöht, alle auftretenden Qualitätsprobleme zu lösen. Die meisten Tools und Test -Frameworks, die in diesem Beitrag hervorgehoben sind, sind mit Grunzen verbunden, wodurch Sie die Qualität Ihres Workflows und Codes verbessern können, ohne einen Finger verschieben zu müssen.
07. Ausnahmen handhaben
Gleichzeitig hat Ihr Code irgendwann einen Fehler, wenn er ausgeführt wird. Verwenden Sie die Anweisung "Versuchen Sie ... Catch", um die Laufzeitfehler und die Auswirkungen des Einschränkungsverhaltens auf Ihrer Website ordnungsgemäß zu behandeln. Verwenden Sie einen Netzwerkdienst, um beim Ausführen Fehler aufzuzeichnen. Verwenden Sie diese Informationen, um neue Unit -Tests hinzuzufügen, um Ihren Code zu verbessern und diese Fehler einzeln zu beseitigen.
Schritte zum Erfolg
Diese sieben Schritte helfen mir, einen Teil des Code zu erstellen, auf den ich in meiner bisherigen Karriere am meisten stolz bin. Sie sind auch eine gute Grundlage für die Zukunft. In Ihrem eigenen Projekt versprechen wir, diese Schritte zu verwenden, um qualitativ hochwertigen JavaScript-Code zu erstellen, damit wir zusammenarbeiten können, um das Netzwerk zu verbessern und Schritt für Schritt zu Erfolg zu führen.