Heim >Web-Frontend >js-Tutorial >JavaScript Refactoring -Techniken: spezifisch für generische Code
Key Takeaways:
Refactoring JavaScript verbessert die Lesbarkeit der Code, die Wartbarkeit, die Leistung und die Wiederverwendbarkeit, die Unterstützung von Fehler und Korrektur. Häufige Techniken beinhalten die Minimierung der Redundanz mithilfe von Variablen, Verbesserung der Ereignisbehandlung und die Verfeinerung des Klassenmanagements für flexiblere, anpassungsfähigere Code. Eine gründliche Einheitstests vor und nach dem Wiederaufbau ist von entscheidender Bedeutung, um unbeabsichtigte Folgen zu vermeiden. Während Leistungssteigerungen möglich sind, ist die Priorisierung der Lesbarkeit und Wartbarkeit von größter Bedeutung. Refactoring sollte ein iterativer Prozess sein, der in den Entwicklungslebenszyklus integriert ist.
Dieser Artikel wurde von Dan Prince von Experten überprüft. Vielen Dank an die Peer -Rezensenten von SitePoint für ihre Beiträge!
Ein SitePoint -Forum -Thread präsentiert Codesteuerung der Dropdown -Sichtbarkeit. Während der Funktionsfunktion fehlte dem Code Robustheit und Anpassungsfähigkeit. Dieser Artikel zeigt Refactoring-Techniken für eine verbesserte Wiederverwendbarkeit und Zukunftssicherung.
Original CSS:
<code class="language-css">#second { display: none; } #second.show { display: block; }</code>
Original JavaScript:
<code class="language-javascript">document.getElementById("location").onchange = function () { if (this[this.selectedIndex].value === "loc5") { document.getElementById("second").className = "show"; } else { document.getElementById("second").className = ""; } };</code>
Dieser Artikel refaktoren diesen JavaScript -Code für bessere Wartbarkeit und Wiederverwendbarkeit.
Wählen Sie den richtigen Refactoring -Pfad:
JavaScript bietet mehrere Lösungen; Ziel ist es, den Code zu verbessern, um zukünftige Nacharbeiten zu vermeiden. Das Entfernen von Redundanz ist ein Ausgangspunkt, der sich in Richtung generischerer, anpassungsfähigerer Code entwickelt. Spezifischer Code ist oft spröde, während generischer Code eine breitere Reihe von Situationen behandelt. Das Gleichgewicht liegt darin, Allgemeinheit zu erreichen, ohne die Lesbarkeit zu beeinträchtigen.
refactoring: spezifisch für generisch:
testgetriebene Entwicklung (TDD) unterstreicht ein entscheidendes Prinzip: Wenn Tests spezifischer werden, wird der Code generischer. Dies verbessert die Fähigkeit des Codes, verschiedene Szenarien zu bewältigen. Für den Beispielcode umfassen Verbesserungen:
onchange
durch addEventListener
für eine bessere Ereignishandhabung und Verhinderung von Überschreibungen. classList
anstelle von className
, um Klassennamen zu verwalten, ohne vorhandene Klassen zu überschreiben. Diese Änderungen verbessern die Widerstandsfähigkeit gegenüber zukünftigen Modifikationen und vereinfachen die Aktualisierungen.
Verwenden von Variablen, um die Duplikation zu verhindern:
Speichern von Element -IDs und Triggerwerten in Variablen verbessert die Wartbarkeit. Anstelle mehrerer Verweise auf dasselbe Element wird eine einzelne Variablenreferenz verwendet, die zukünftige Modifikationen vereinfacht.
verbessertes Code (mit variabler Verwendung):
<code class="language-javascript">var source = document.getElementById("location"); var target = document.getElementById("second"); var triggerValue = "loc5"; source.onchange = function () { var selectedValue = this[this.selectedIndex].value; if (selectedValue === triggerValue) { target.className = "show"; } else { target.className = ""; } };</code>
Dieses Refactoring zentralisiert das Identifikatormanagement.
Verbesserung der Ereignisbehandlung:
traditionelle Event -Handler können überschrieben werden. addEventListener
ermöglicht mehrere Handler für dasselbe Ereignis, wodurch ein versehentliches Überschreiben verhindert wird.
verbessertes Code (mit AddEventListener):
<code class="language-css">#second { display: none; } #second.show { display: block; }</code>
Dies sorgt für die Ereignisbehandlungsdauer.
Verbesserung der Klassenhandhabung:
Verwenden von classList.add()
und classList.remove()
verhindert das Überschreiben vorhandener Klassen, wodurch das ursprüngliche Styling des Elements beibehalten wird.
endgültigem refaktoriertes Code:
<code class="language-javascript">document.getElementById("location").onchange = function () { if (this[this.selectedIndex].value === "loc5") { document.getElementById("second").className = "show"; } else { document.getElementById("second").className = ""; } };</code>
Dieser Code ist robuster und anpassungsfähiger.
Schlussfolgerung:
Refactoring ist ein unkomplizierter Prozess. Das "spezifische für generische" Prinzip, häufig ein Nebenprodukt von TDD, verbessert die Code -Flexibilität. Diese Techniken verringern die Notwendigkeit von wiederholten Codefixen, was zu einem wartbaren und wiederverwendbaren JavaScript führt.
häufig gestellte Fragen (FAQs) zu JavaScript -Refactoring -Techniken: (Dieser Abschnitt bleibt gegenüber den Eingaben weitgehend unverändert, da es wertvolle Informationen liefert und zum Zwecke der Umschreibung kein erhebliches Umschreiben benötigt.)
Refactoring JavaScript -Code bietet zahlreiche Vorteile: Verbesserte Lesbarkeit und Wartbarkeit, verbesserte Leistung durch Codeoptimierung, einfachere Erkennung und Korrektur von Fehler sowie eine erhöhte Wiederverwendbarkeit von Code.
Anzeichen von Code, das Refactoring benötigt, umfassen Code -Duplikation, übermäßig lange Methoden oder Funktionen, zu große Klassen, hohe Komplexität und schlechte Leistung. Codeanalyse -Tools können bei der Identifizierung problematischer Bereiche beitragen.
Gemeinsame JavaScript -Refactoring -Techniken umfassen das Extrahieren von Methoden, die Umbenennung von Variablen oder Funktionen, das Entfernen von toten Code, das Vereinfachung der bedingten Ausdrücke und das Ersetzen von temporären Variablen durch direkte Abfragen.
umfassende Unit -Tests sind entscheidend. Führen Sie Tests vor und nach dem Refactoring aus, um die Funktionalität zu überprüfen.
Kann die Leistung des JavaScript -Codes verbessert?Ja, Refactoring kann die Leistung erheblich verbessern, indem unnötige Code eliminiert, Funktionen optimiert und komplexe Ausdrücke vereinfacht werden. Lesbarkeit und Wartbarkeit sollten jedoch primäre Ziele bleiben.
Nein, inkrementelles Refactoring, der sich auf bestimmte Bereiche oder Funktionen konzentriert, wird im Allgemeinen für eine bessere Verwaltbarkeit und ein verringertes Risiko empfohlen.
zahlreiche Online -Ressourcen sind verfügbar, darunter Tutorials, Blogs, Bücher und Videokurse. Praktische Erfahrung kann durch Codierungsherausforderungen und Open-Source-Projekte gesammelt werden.
iDes wie Webstorm und Visual Studio Code bieten integrierte Refactoring-Funktionen. Code -Analyse -Tools wie Eslint und JSHINT helfen dabei, problematische Codeabschnitte zu identifizieren.
Ja, Refactoring kann zu präziserem Code führen, deren Größe verringert und möglicherweise die Ladezeiten der Webseite verbessert.
Nein, Refactoring ist ein fortlaufender Prozess, der in den Entwicklungslebenszyklus integriert ist, um die Codequalität und -effizienz aufrechtzuerhalten.
Das obige ist der detaillierte Inhalt vonJavaScript Refactoring -Techniken: spezifisch für generische Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!