Warum benötigen Sie Code Sniffer für die Webentwicklung?
Die Code-Optimierung ist vergleichbar mit der Bearbeitungsphase eines Schreibens. Möglicherweise müssen Sie Ihre Ideen zuerst im Code nach unten bringen, aber Ihr Code sollte mit Tools wie optimiert werden Code-Sniffer das bestmögliche Produkt herstellen.
Code-Sniffing ist ein Begriff, der beschreibt Überprüfung des Codes auf Einhaltung gesetzlicher Standards. Diese Bestimmungen geben möglicherweise die Anzahl der Leerzeichen an, die zum Einrücken verwendet werden sollen, die Anordnung geschweifter Klammern oder die Benennung von Variablen. Standards sind für das Erstellen einer Webanwendung nicht unbedingt erforderlich, aber Standards sind wichtig für interne Konsistenz und Code-Pflege.
Hier ist Code Sniffing für alle Entwickler von Vorteil, vom Frontend bis zum Backend. ich möchte gerne untersuchen Sie den Prozess des Code-Sniffing und bieten einige Dienstprogramme, die zur Analyse von Codestandards beitragen.
Was ist Code-Schnüffeln??
Die Aktion des Code-Sniffing wird normalerweise automatisiert Zeit sparen und Fehler reduzieren. Code-Sniffer werden es tun Überprüfen Sie die Quellcodes auf die Einhaltung der Normen von internen Entwicklungsteams oder Aufsichtsbehörden festgelegt.
Code-Sniffing ähnelt Code-Linting, ist aber pedantischer. In erster Linie fusseln prüft auf Fehler und Syntaxfehler beim schnüffeln sucht nach problemen in die Art und Weise, wie Code geschrieben wird. Eine PHP-Datei kann immer noch ordnungsgemäß funktionieren, schlägt jedoch einen Code-Sniffing-Test fehl, wenn ein Variablenname nicht den Standards entspricht (z. $ myVariable vs $ my_variable).
Eine ähnliche Terminologie ist der Codegeruch prüft auf Designfehler im Code, der zu größeren Fehlern führen kann. Dies kann sich auf Codestandards beziehen, beinhaltet aber auch übergeordnete Architekturen zum Schreiben von homogenem Code.
Alle diese Bereiche sind abzudecken und für das Schnuppern von Code relevant. Denken Sie nur an diesen Schnüffelcode findet nicht immer Laufzeitfehler da ist seine Priorität strikte Einhaltung der Normen.
Inzwischen fragen Sie sich vielleicht, ob Standards überhaupt wichtig sind? Die Wahrheit ist, dass sie eine Rolle spielen, aber mehr für die Optimierung und Projektbereinigung. Viele Entwickler stimmen darin überein, dass Standards für die Programmierung und Webentwicklung von entscheidender Bedeutung sind - insbesondere bei großen Teamprojekten.
Hier ein Zitat von Entwickler Paul Jones, in dem erklärt wird, warum Codestandards nützlich sind.
“Der Sinn eines Codestile-Standards ist nicht zu sagen, dass ein Stil objektiv besser ist als ein anderer. Stattdessen sollen bekannte Erwartungen darüber aufgestellt werden, wie der Code aussehen wird.”
Wenn Sie eine kleine Webapp für sich selbst erstellen, lohnt es sich möglicherweise nicht, Zeit mit WCAG 2.0- oder PSR-2-Standards zu verbringen. Aber bedenken Sie die Hunderte von Entwicklern, die am Quellcode von Adobe Photoshop arbeiten. Es wäre chaotisch, wenn jede Person ihren eigenen Stil geschrieben und alles kombiniert hätte.
Obwohl sich Teams stark auf Standards verlassen, können diese Regeln auch für Einzelentwickler nützlich sein. Sie können Codestandards für alles von CSS bis WordPress finden, so dass es keine Entschuldigung gibt, nicht zu versuchen, zu sehen, ob sich die Codequalität verbessert.
Der Wert von Kodexstandards
Standards werden natürlich Halten Sie Ihren Code sauber und organisiert. Entwickler wissen genau, wie man Code schreibt und wie man die Arbeit des anderen mitverfolgt.
Code-Standards unterstützen auch die Open-Source-Entwicklung, indem sie Regeln für andere zur Verfügung stellen. Dateien können Monate oder Jahre später von jedermann abgeholt werden und sind dennoch leicht lesbar.
Ein strenger Codierungsstil ist eine gute Idee selbst wenn Sie sich entscheiden, Ihre eigenen zu machen. Dies ist mit großem Aufwand verbunden, aber mit dem Wachstum von Projekten ist diese Art der Dokumentation von unschätzbarem Wert.
Hier sind einige Codierungsstandards, die zu berücksichtigen sind und die sich auf verschiedene Web-Sprachen beziehen.
- PEAR-Codierungsstandards (PHP)
- Google-Standards für HTML / CSS
- Google-Standards für JavaScript
- Django-Codierungsstil (Python)
- Rails Style Guide (Ruby)
- WCAG 2.0 (UX)
Beste Code-Sniffing-Ressourcen
Es ist jetzt möglich, kostenlose Code-Sniffer für alles zu finden, von HTML / CSS bis zu Backendsprachen wie PHP und SQL. Möglicherweise müssen Sie diese Sniffer nicht für jede Sprache verwenden oder Standards einhalten. Es lohnt sich jedoch, die Möglichkeiten zu prüfen, um herauszufinden, was Ihre Leistung verbessern kann.
Frontend Code Sniffer
Obwohl HTML nicht brauchen ein Code-Sniffer, der Squiz nicht davon abhielt, einen zu bauen. Es ist vollständig Open Source und wird auf GitHub mit den Optionen gehostet, um Code in den Browser zu kopieren / einzufügen oder ein Bookmarklet zu speichern, das auf einzelnen Webseiten ausgeführt werden kann.
Dieser Sniffer prüft die drei Stufen der WCAG für Barrierefreiheitsstandards A, AA und AAA sowie die Richtlinien des Abschnitts 508, die hauptsächlich für Regierungswebsites gelten.
CSS-Entwickler könnten diesen kostenlosen CSS-Code-Sniffer mögen, der ebenfalls Open Source ist und über den Node Package Manager gehostet wird.
Benutzer von jQuery sollten sich JSCodeSniffer ansehen, der von Dmitry Sheiko erstellt wurde. Dies ist eine weitere kostenlose, auf GitHub gehostete Web-App, die dem Code Style Guide von jQuery entspricht.
Alternativ können Sie auch versuchen, Ihren JS-Code mit JavaScript Lint oder JS Lint zu färben. Diese Tools suchen nach Fehlern in der Syntax statt nach Codestandards, sind aber auch sehr hilfreich bei der Frontend-Codeoptimierung.
Für die Aufzeichnung ist es auch möglich, JS / CSS-Standards direkt mit PHP_CodeSniffer zu überprüfen.
Der PHP Code Sniffer
PHP_CodeSniffer ist ein Muss in Ihrem Toolbelt, wenn Sie PHP-Code-Standards einhalten möchten. Das Paket enthält einige PHP-Skripts, die den Compliance-Code von PHP, JS und CSS analysieren mit Ihrer Wahl der Code-Style-Dokumentation.
Der Schöpfer von PHP_CodeSniffer Greg Sherwood hat eine wunderbare Hintergrundgeschichte darüber geschrieben, wie die Idee zustande gekommen ist und welche Probleme sie zu lösen versucht (es lohnt sich zu lesen, wenn Sie Zeit haben)..
Zusammenfassend arbeitete Greg mit einem Team, das JavaScript in eine PHP-App einlernte. Ihr Ziel war es, die JS so zu strukturieren, dass sie den Code-Standards von PHP folgt, um das Wechseln des Lebens zu erleichtern. So wurde PHP_CodeSniffer geboren.
Dies ist ideal für PHP-Entwickler, weil Die Sprache ist sehr locker mit zwingenden Stilanforderungen. Frameworks wie Laravel sind strenger, aber Entwickler können (und sollten) ihre eigenen Codestandards festlegen, ohne sich auf ein Drittanbieter-Framework zu verlassen.
Verschiedene Standards wie PSR-0, PSR-1 und PSR-2 sind alle gängig und werden mit der PHP-Sniffing-Bibliothek geliefert.
Es gibt aber auch viele andere vorgefertigte Code-Standards für PHP-CMS wie WordPress, Magento und Drupal. Entwickler des Drupal-Kerns haben sogar ein offizielles Code-Sniffer-Modul namens Coder veröffentlicht.
Zweifellos ist PHP die am einfachsten zu optimierende Sprache mit Code-Sniffern. Wenn Sie suchen eine Liste der PHP-Code-Standards checkt diesen GitHub-Eintrag aus.
Andere Backend Code Sniffer
Backend-Entwickler arbeiten mit einer Vielzahl von Sprachen außer PHP und die Anzahl steigt von Jahr zu Jahr. Mit alternativen Sprachen haben wir auch alternative Code-Sniffing-Bibliotheken wie Code-Sniffer für Python.
Es ist möglich, andere Skripte online zu überprüfen oder Tools wie PyLint zu verwenden. Dies ist jedoch eine weitere Methode, die Geduld erfordert, um in Ihren Entwicklungsablauf einzugreifen.
Ruby-Entwickler haben auch eine Reihe von Möglichkeiten, wenn es darum geht Code-Flusen und Analyse. Die besten sind immer kostenlos und Open Source wie Ruby Lint, ein statischer Code-Analysator für modernen Ruby-Code.
Ich habe noch keinen dedizierten Code-Sniffer für Node.js gefunden, aber ich hoffe, dass mit der Zeit ein Projekt entsteht. Es gibt JS-Code-Sniffer, die Node-Standards unterstützen, aber es ist immer noch eine neuere Backendsprache und erfordert Zeit, um zu wachsen.
Schließlich haben wir SQL-Syntax für Datenbanken. Dieser Code ist möglicherweise komplizierter, da es schwierig ist, gut unterstützte Syntaxstandards für SQL-Quellcode zu finden. Ich habe jedoch eine SQL-Formatierungs-Webapp gefunden, die sich beim Optimieren von Datenbankabfragen als äußerst nützlich erweisen sollte.
Einpacken
Der beste Ort, um Code-Sniffing zu starten, ist mit einer Sprache und einem Standard. HTML / CSS ist ein einfacher Einstieg für Frontend-Entwickler, während PHP unter Backend-Entwicklern (vor allem WordPress-Entwicklern) häufig eine beliebte Wahl ist..
Wenn Sie mehr darüber erfahren möchten, lesen Sie diese verwandten Beiträge zum Code-Sniffing, zum Flusen und zur automatisierten Code-Analyse zur Optimierung.
- Warum benötigen Sie Kodierstandards?
- Code Smells von Jeff Atwood
- PHP Code Sniffer: Installation & Konfiguration
- Einführung in CodeSniffer (Teil 1)
- GitHub Showcase: Clean Code Linters