Das Tide-Projekt zielt darauf ab, WordPress-Themes und Plugins basierend auf der Codequalität zu prüfen und zu bewerten

Veröffentlicht: 2017-11-23

Letzte Woche hat XWP eine faszinierende Vorschau auf ein neues Projekt namens Tide veröffentlicht, das darauf abzielt, die Codequalität in den WordPress-Plugin- und Theme-Ökosystemen zu verbessern. Das Unternehmen hat mit der Unterstützung von Google, Automattic und WP Engine an der Erstellung eines neuen Dienstes gearbeitet, der Benutzern helfen wird, bessere Plugin-Entscheidungen zu treffen und Entwicklern beim Schreiben von besserem Code zu helfen.

XWPs Marketing Manager Rob Stinson fasste die bisherige Richtung des Projekts zusammen:

Tide ist ein Dienst, der aus einer API, einem Audit-Server und einem Sync-Server besteht, die zusammenarbeiten, um eine Reihe automatisierter Tests gegen das WordPress.org-Plugin und die Theme-Verzeichnisse durchzuführen. Über das Tide-Plugin werden die Ergebnisse dieser Tests als aggregierte Punktzahl im WordPress-Adminbereich bereitgestellt, die die allgemeine Codequalität des Plugins oder Themes darstellt. Es wird ein umfassender Bericht generiert, der es Entwicklern ermöglicht, besser zu verstehen, wie sie die Qualität ihres Codes verbessern können.

Die XWP-Ankündigung enthielt auch einen Screenshot, wie diese Daten im WordPress-Plugin-Verzeichnis dargestellt werden könnten:

XWP plant, den Service auf dem WordCamp US in Nashville am Google-Stand vorzustellen, wo sie die Community einladen werden, sich zu beteiligen. Natürlich wirft ein Projekt mit dem Potenzial, einen so großen Einfluss auf das Plugin-Ökosystem zu haben, viele Fragen darüber auf, wer hinter der Vision steckt und welche Art von Metriken verwendet werden.

Ich kontaktierte Rob Stinson und Luke Carbis von XWP, die beide zu dem Projekt beigetragen haben, um einen Einblick zu bekommen, wie es begann und wohin es ihrer Meinung nach gehen wird.

„Tide wurde vor etwa 12 Monaten bei XWP gestartet, als eines unserer Serviceteams die Idee eines Tools zusammenstellte, das eine Reihe von Codequalitätstests gegen ein Codepaket (WordPress-Plug-in) durchführte, gefolgt von einem Proof of Concept hat die Ergebnisse über eine API zurückgegeben“, sagte Stinson. „Kurz darauf kamen wir auf den Namen Tide, inspiriert von dem Sprichwort ‚Eine steigende Flut hebt alle Boote', weil wir dachten, wenn ein Tool wie dieses die Eintrittsbarriere für qualitativ hochwertigen Code für genügend Entwickler senken könnte, könnte es die Qualität steigern von Code im gesamten WordPress-Ökosystem.“

Stinson sagte, dass XWP seine Bemühungen um Tide in den letzten Monaten intensiviert habe, nachdem es begonnen habe, sein Potenzial zu erkennen und die Vision mit Partnern zu teilen.

„Google, Automattic und WP Engine haben das Projekt in letzter Zeit ebenfalls mit Ressourcen (Gelder, Infrastruktur, Entwicklerzeit, Beratung usw.) unterstützt“, sagte Stinson. „Ihre Unterstützung hat uns wirklich geholfen, Dynamik aufzubauen. Google spielt dabei seit etwa August eine große Rolle. Wir haben bereits an anderen Projekten mit ihnen zusammengearbeitet, und als wir ihnen die Vision für Tide mitteilten, waren sie begeistert und sahen, wie sie mit ihrer Vision von einem leistungsfähigeren Web übereinstimmt.“

Der Tide-Dienst ist derzeit nicht aktiv, aber eine Beta-Version wird bei WordCamp US mit einem WordPress-Plugin gestartet, das kurz darauf folgen wird. Stinson sagte, das Team habe die erste Version entworfen, um die Möglichkeiten von Tide zu präsentieren und Feedback und Beiträge aus der Community zu fördern.

„Wir wissen, dass Tide am besten sein wird, wenn es Open Source ist“, sagte er. „Es gibt viele bewegliche Teile, und wir wissen, dass je größer der Beitrag der Community ist, desto besser wird er die Bedürfnisse der Community in Bezug auf die Codequalität darstellen und lösen.“

In dieser Projektphase ist noch nichts in Stein gemeißelt. Das Tide-Team experimentiert weiterhin mit verschiedenen Möglichkeiten, die Plugin-Audit-Daten verfügbar zu machen und zu verfeinern, wie diese Daten bei der Bereitstellung eines Tide-Scores gewichtet werden.

„Die Sternebewertung ist nur eine Idee, mit der wir gespielt haben“, sagte Stinson. „Der Zweck wird es sein, den vollständigen Bericht, der von Tide erstellt wird, zu einer einfachen und leicht verständlichen Metrik zusammenzufassen, auf die sich WordPress-Benutzer beziehen können, wenn sie Entscheidungen über Plugins und Themen treffen. Wir wissen, dass wir diese Metrik nicht haben und wie sie ganz richtig angezeigt wird. Wir haben bereits einige großartige Rückmeldungen von der Community erhalten.“

Der Dienst soll nicht nur Ergebnisse ausgeben, sondern es Entwicklern auch erleichtern, Schwachstellen in ihrem Code zu identifizieren und zu lernen, wie sie diese beheben können.

„Das Senken der Eintrittsbarriere zum Schreiben von gutem Code war die ursprüngliche Inspiration für die Idee“, sagte Stinson.

Das Tide-Projektteam plant, die für den Audit-Score verwendeten Metriken basierend auf dem Feedback der Community zu verfeinern

Die Website des Tide-Projekts, wptide.org, wird auf dem WordCamp US starten und Entwicklern Ergebnisse liefern, einschließlich Einzelheiten wie Zeilennummern und Beschreibungen von fehlgeschlagenen Sniffs. Plugin-Entwickler können die Seite nutzen, um ihren Code zu verbessern, und WordPress-Benutzer können die Qualität eines Plugins schnell überprüfen. XWP-Produktmanager Luke Carbis erklärte, wie der Tide-Score derzeit berechnet wird.

„Im Moment führt Tide eine Reihe von Code-Sniffs über ein Plugin / Thema aus, nimmt die Ergebnisse, wendet eine gewisse Gewichtung an (potenzielle Sicherheitsprobleme sind wichtiger als Tabulatoren vs. Leerzeichen) und mittelt dann die Ergebnisse pro Codezeile“, Carbis sagte. „Das Ergebnis ist eine Punktzahl von 100, was ein großartiger Indikator für die Qualität eines Plugins oder Themas ist. Der ‚Algorithmus‘, der die Punktzahl bestimmt, ist im Grunde nur eine Reihe von Gewichtungen.“

Die Gewichtungen, die der Dienst derzeit verwendet, wurden als Ausgangspunkt ausgewählt, aber Carbis sagte, das Team hoffe, dass die WordPress-Community ihnen helfen werde, sie zu verfeinern.

„Wenn es Sinn macht, könnte diese Punktzahl vielleicht eines Tages im WordPress-Adminbereich (auf der Seite zum Hinzufügen neuer Plugins) auftauchen“, sagte Carbis. „Oder vielleicht könnte es die Suchergebnisse beeinflussen (höher bewertete Plugins an erster Stelle). Oder vielleicht bleibt es einfach auf wptide.org. Das muss wirklich die Community entscheiden.“

Zusätzlich zur Ausführung von Codesniffs führt der Tide-Dienst zwei weitere Scans durch. Ein Lighthouse-Scan, der das automatisierte Open-Source-Tool von Google zur Verbesserung der Qualität von Webseiten verwendet, wird für Themen durchgeführt, was laut Carbis eine „große technologische Errungenschaft“ ist.

„Für jedes Thema im Verzeichnis erstellen wir eine temporäre WordPress-Installation und führen ein Lighthouse-Audit in einer Headless-Chrome-Instanz durch“, sagte Carbis. „Das bedeutet, dass wir einen detaillierten Bericht über die Frontend-Ausgabequalität des Themes erhalten, nicht nur über den Code, der es antreibt.“

Der zweite Scan, den Tide durchführt, misst die PHP-Kompatibilität und gilt sowohl für Plugins als auch für Themes.

„Tide kann sagen, mit welchen PHP-Versionen ein Plugin oder Theme funktioniert“, sagte Carbis. „Für Benutzer bedeutet dies, dass wir möglicherweise Ergebnisse ausblenden könnten, von denen wir wissen , dass sie mit ihrer WordPress-Installation nicht funktionieren (oder zumindest eine Warnung anzeigen). Für Hosts bedeutet dies, dass sie die PHP-Kompatibilität leicht überprüfen können, bevor sie eine Installation auf PHP 7 aktualisieren (wir glauben, dass dadurch viel mehr Installationen aktualisiert werden müssen – der Nettoeffekt ist eine spürbare Geschwindigkeitssteigerung, die wir wirklich spannend und motivierend finden). ”

Carbis sagte, dass das Team derzeit kurzfristig daran arbeite, das PHP-Kompatibilitätsteil in die WordPress.org-API zu integrieren, das seiner Meinung nach die Suchergebnisse ohne Änderungen am WordPress-Kern beeinflussen könnte.

„Wir würden auch gerne mit der Community in Kontakt treten, um herauszufinden, ob es hilfreich ist, WordPress-Benutzern einen Code Quality Score zu zeigen, und wenn ja, wie sieht dieser aus? (z. B. Punktzahl von 100, 5-Sterne-Bewertung, A/B/C/D usw.)“, sagte Carbis. „Wir werden unseren Vorschlag, wie das als Plugin aussehen könnte , kurz nach dem WordCamp US veröffentlichen.“

Genauere Informationen zu den Metriken, die Tide derzeit verwendet, und wie sie auf Plugins und Designs angewendet werden, werden nach dem Start des Dienstes in der Betaversion verfügbar sein. Wenn Sie am WordCamp US teilnehmen und dem Team Anregungen oder Feedback geben möchten, sollten Sie unbedingt am Google-Sponsoring-Stand vorbeischauen.