Codierungsstandards: Etwas zum Schnuppern S

Veröffentlicht: 2021-07-19

Manche Fragen gibt es schon seit der Softwareentwicklung. Soll ich mit Tabulatoren oder Leerzeichen einrücken? Sind Coding-Standards wirklich so wichtig? Muss ich wirklich Zeit damit verschwenden, irgendwelche willkürlichen Regeln zu befolgen?

Entsprechend lauten die Antworten auf diese Fragen: Tabs (offensichtlich), ja (weniger offensichtlich) und nein (irgendwie).

PHP-Codesniffing

Die Bedeutung von Standards wurde von anderen ausführlich behandelt, daher werde ich hier nicht ins Detail gehen, aber der springende Punkt ist: Interne Konsistenz ist innerhalb eines bestimmten Projekts wünschenswert, weil sie die Lesbarkeit verbessert, Überraschungen begrenzt und zur Entwicklung beitragen kann Robustheit des Codes.

Sie müssen keine „Zeit verschwenden“, indem Sie sich an Standards halten, denn es gibt Möglichkeiten, diese Standards automatisch anzuwenden!

Was ich hier behandeln werde, ist eine Möglichkeit, das eigenständige Tool PHP Codesniffer (PHPCS) für WordPress-Projekte schnell und einfach einzurichten . Dies ermöglicht Ihnen:

  • Erstellen Sie einen Bericht über die Einhaltung von Standards in Ihrem Code
  • Beheben Sie automatisch eine Vielzahl von Compliance-Problemen

In den folgenden Beispielen implementieren wir WordPress-Standards.

Installation

Voraussetzungen:

  • Terminalzugriff (Windows-Benutzer können mit Bash für Windows erfolgreich sein, dies ist jedoch nicht getestet)
  • Composer-Paketmanager

Obwohl es möglich ist, PHPCS selbst zu installieren, wird WordPress standardmäßig nicht unterstützt. Dafür werden wir die knackig benannten WordPress Coding Standards (WPCS) installieren .

Navigieren Sie zunächst zu dem Ort, an dem Sie WPCS für die globale Verwendung installieren möchten.

 $ > cd /Pfad/nach/wohin

Installieren Sie das Paket mit Composer.

 $ > Composer create-project wp-coding-standards/wpcs --no-dev

An diesem Punkt könnten wir eintauchen und mit der Verwendung von WPCS beginnen, aber es gibt einige Flags, die jedes Mal gesetzt werden müssen, wenn wir den Befehl ausführen. Lassen Sie uns der Einfachheit halber ein paar Aliase einrichten.

Öffnen Sie .profile aus Ihrem Home-Verzeichnis in Ihrem bevorzugten Editor (oder erstellen Sie es, wenn es nicht existiert) und fügen Sie Folgendes hinzu:

 # WP-Codierungsstandards
export PATH=$PATH:"/path/to/wherever/wpcs/vendor/bin"
Alias ​​wpcs='phpcs --standard=WordPress --extensions=php
Alias ​​wpcbf='phpcbf --standard=WordPress --extensions=php

Wir haben hier zwei Aliase hinzugefügt – einen für phpcs (der Compliance-Fehler findet und anzeigt) und einen für phpcbf (der verschiedene von phpcs gefundene Probleme automatisch behebt). Die zusätzlichen Optionen bewirken Folgendes:

–standard=WordPress – wendet WordPress-Standards an (in WPCS festgelegt)

–extensions=php – zielt nur auf PHP-Dateien ab (PHPCS zielt standardmäßig auf PHP, CSS und JS ab)

Starten Sie das Terminal (oder source .profile ) neu und WPCS ist bereit, Ihren Code zu schnüffeln!

Schnüffeln

Führen Sie Folgendes aus, um einen Sniff-Bericht für eine Datei zu erstellen:

 $ > wpcs /path/to/your/php/project/file.php

Dadurch wird der Bericht im Terminal ausgegeben. Alternativ können Sie dies in eine Datei ausgeben:

 $ > wpcs /path/to/your/php/project/file.php > output.txt

Der Schnüffelbericht

Ihre WPCS-Sniff-Ausgabe sieht in etwa so aus:

PHP-Codesniffer-Bericht

Es gibt hier eine ganze Menge an Informationen, aber es ist ziemlich sauber angelegt. Sehen wir uns an, was wir haben:

  • Die Zieldatei
  • Eine Zusammenfassung der gefundenen Fehler/Warnungen und die Anzahl der betroffenen Zeilen
  • Eine Liste der gefundenen Probleme mit Schweregrad und Beschreibungen
  • Eine Angabe, wie viele Probleme phpcbf automatisch lösen kann (grundsätzlich alle Probleme mit einem [x])

Wie zu erwarten ist, kann PHPCS nicht alles erklären. Es wird keine Annahmen über die Auswahl von Satzzeichen in Kommentaren und bestimmte Arten der Codeformatierung treffen, aber es kann eine Vielzahl von Problemen für Sie lösen.

Ein netter Bonus ist, dass die WordPress-Regeln es PHPCS ermöglichen, WordPress-spezifische Probleme zu erkennen, einschließlich möglichem Missbrauch von Funktionen.

Festsetzung

Das automatische Beheben von Problemen könnte nicht einfacher sein:

 $ > wpcbf /path/to/your/php/project/file.php

Es wird eine kurze Zusammenfassung ausgegeben:

PHP Code Fixer-Ausgabe

Alle verbleibenden Fehler müssten manuell behoben werden, aber Sie werden normalerweise feststellen, dass ein guter Teil der Probleme behoben wurde.

Benutzerdefinierte Regeln

Möglicherweise möchten Sie auch den Regelsatz anpassen, bestimmte Verzeichnisse in Ihrem Projekt ausschließen usw. Die mit PHPCS kommentierten Regelsatzdokumente bieten Beispiele für alle Änderungen, die Sie vornehmen können, aber im Großen und Ganzen können Sie nur:

  1. Erstellen Sie eine Regelsatzdatei
  2. Verweisen Sie darauf im PHPCS-Befehl

Hier ist ein Beispiel für eine Regelsatzdatei:

 <?xml version="1.0"?>
<ruleset name="WordPress-Codierungsstandards">
    <description>Angepasste WordPress-Standards.</description>
    <rule ref="WordPress">
        <exclude name="Generic.Formatting.MultipleStatementAlignment.NotSameWarning"/>
    </rule>
    <exclude-pattern>*/bin/*</exclude-pattern>
    <exclude-pattern>*/node_modules/*</exclude-pattern>
    <exclude-pattern>*/tests/*</exclude-pattern>
</Regelsatz>

Im Beispiel haben wir folgendes gemacht:

  • Verweist auf den WordPress-Regelsatz (von WPCS)
  • Eine Regel ausgeschlossen
  • Einige Verzeichnisse ausgeschlossen

Die Regelsatzdatei kann in jedem Verzeichnis abgelegt werden, aus dem Sie WPCS aufrufen (das Projekt-, Theme- oder Plugin-Root ist normalerweise sinnvoll) und über ein Flag referenziert. Aktualisieren Sie das Flag –standard in Ihrem .profile wie folgt :

 # WP-Codierungsstandards
export PATH=$PATH:"/path/to/wherever/wpcs/vendor/bin"
Alias ​​wpcs='phpcs --standard=codesniffer.ruleset.xml --extensions=php
Alias ​​wpcbf='phpcbf --standard=codesniffer.ruleset.xml --extensions=php

Um zu überprüfen, welche Regeln beim Ausführen von WPCS markiert werden, führen Sie es einfach mit dem Flag -s wie folgt aus:

 $ > wpcs -s /path/to/your/php/project/file.php

Was nun?

Der obige Leitfaden ermöglicht es Ihnen, Ad-hoc-Standard-Compliance-Prüfungen in Ihrem WordPress-Projekt durchzuführen, aber wenn Sie es in Ihren Standard-Entwicklungszyklus integrieren möchten, ist der nächste logische Schritt die Automatisierung.

Erwägen Sie die Integration von PHPCS in einen Task-Runner wie gulp oder grunt (PHPCS-Module sind für beide verfügbar) oder anderweitig in Ihre CI/CD-Build-Pipeline zu integrieren.

Wenn Sie Hilfe bei der Webentwicklung und -gestaltung benötigen, kontaktieren Sie uns noch heute.


Wenn Sie Hilfe bei Ihrem benötigen, zögern Sie nicht, uns zu kontaktieren.