Werkzeuge zur Qualitätsentwicklung von WordPress verwenden

Das Erstellen von Werkzeugen, Designs, Plugins und Anwendungen in WordPress erfordert verschiedene Dinge, um sicherzustellen, dass wir mit den bestmöglichen Tools ausgestattet sind.

Wenn Sie beispielsweise zehn verschiedene Personen fragen, welche Tools sie bevorzugen, würden Sie nicht nur eine breite Palette von Antworten erhalten - von IDEs auf Abhängigkeitsverwaltungsanwendungen zum Erstellen von Tools -, sondern Sie würden auch verschiedene Antworten geben , die alle ähnliche Funktionen für Ihre Anforderungen bieten.

Einige der Dinge, über die Sie lesen können, sind beispielsweise:

  • Grunzen
  • Laube
  • Komponist 
  • CodeKit
  • JSLint
  • … und mehr

Dies berührt nicht einmal die Oberfläche von Themen wie Webservern, Datenbanksystemen und PHP-Versionen. All dies sind wichtige Themen, die besprochen werden sollten, aber in ihrem eigenen Beitrag.

Bei der Arbeit mit WordPress gehören zu den nicht verhandelbaren Elementen, die sich auf die effiziente Arbeit beziehen, die folgenden:

  1. Eine IDE
  2. Ein Debugger
  3. Code Linting und Minification
  4. Versionskontrolle
  5. Bereitstellungstools

Wie bei den meisten Dingen haben Entwickler ihre spezielle Wahl, welche Tools sie gerne verwenden und warum sie diese gerne verwenden.

In diesem Artikel werde ich einige der Tools vorstellen, die ich am liebsten benutze und die ich bei meiner professionellen WordPress-Entwicklung als nützlich eracht habe. Ich möchte jedoch klarstellen, dass dies keine endgültige Liste der Tools ist, die Sie verwenden sollte verwenden.

Betrachten Sie dies stattdessen als Anhaltspunkt für Beispiele, was Qualitätswerkzeuge für die Qualitätsentwicklung sind. Wenn Sie mit dem von Ihnen verwendeten Toolset zufrieden sind, dann sind Sie großartig! Wenn Sie jedoch nach etwas Ausschau halten, das Ihnen dabei helfen kann, Ihre Arbeit auf effizientere Weise zu erledigen, können Sie auf diesem Weg den richtigen Weg finden.

Bevor wir beginnen, möchte ich mitteilen, dass ich OS X verwende. Daher basieren viele meiner Empfehlungen auf dieser Plattform. Viele der von mir verwendeten Anwendungen verfügen jedoch sowohl über Windows- und Linux-Pendants als auch über Open-Source-Tools, die plattformübergreifend verfügbar sind.

1. IDEs

Eine IDE zum Schreiben von Code ist unerlässlich. Sicher, manche Entwickler bevorzugen etwas so einfaches wie TextEdit oder Notepad ++. Mehr Macht für sie! Wenn Sie jedoch nach etwas mit Syntaxhervorhebung, Code-Vervollständigung, Unterstützung für Plugins, S / FTP-Integration und sogar der Integration von Versionskontrollen suchen, gibt es eine Vielzahl von Tools, die verfügbar sind.

Persönlich ist meine IDE die Wahl Coda 2.

Diese spezielle IDE führt in der WordPress-Entwicklung zu gemischten Meinungen. Einige bevorzugen Atom, andere bevorzugen Sublime Text, manche bevorzugen Vim, andere bevorzugen PHPStorm und alle haben ihre Stärken.

Ich persönlich mag Coda 2 für den fortlaufenden Support, Updates, mobile Variationen der Anwendung und das allgemeine Erscheinungsbild. Ich mag den Fortschritt, den sie bei der Unterstützung von Plattformen wie WordPress gemacht haben, und die Möglichkeit, integrierten Code zu vervollständigen, ist schön.

Zugegeben, andere IDEs bieten genau dieselbe Funktionalität. Wenn Sie sich jedoch für Coda entscheiden, sind hier ein paar Plugins, die ich für die WordPress-Entwicklung vorziehen möchte. In keiner bestimmten Reihenfolge:

  • WordPress-Modus für Coda 2
  • PHP Docblock Generator
  • Weiß raus

Natürlich gibt es auch viele andere, die Sie installieren können.

In Bezug auf andere IDEs, die Sie empfehlen, überprüfen Sie bitte die Schlussfolgerung, um zu erfahren, wie wir sie in den Kommentar-Feed dieses Postings aufnehmen möchten.

2. Debugger

Der Debugger ist eines der leistungsfähigsten Tools in jeder Entwickler-Toolbox. Für diejenigen, die nicht vertraut sind, können Sie mit dieser Software überwachen, was genau Ihr Quellcode tut, wenn er durchläuft, was das Programm zur Laufzeit durchführt.

Dies gibt Ihnen die Möglichkeit:

  • Sehen Sie, welche Funktion ausgelöst wird
  • siehe die Werte der verschiedenen Variablen
  • Schritt über bestimmte Funktionen, die Sie vermeiden möchten
  • Schritt in Funktionen, die Sie sehen möchten (wie z. B. WordPress-Kernfunktionen)
  • … und so viel mehr

Viele IDEs, wie z. B. PHPStorm, verfügen über einen integrierten Debugger. Wenn Sie sich jedoch für eine andere IDE entscheiden, die keinen Debugger enthält, empfehle ich Codebug.

Es ist ein eleganter, benutzerfreundlicher Debugger, der Ihnen alle Möglichkeiten eines nativen Debuggers bietet, jedoch in einer eigenständigen Anwendung. Es ist den Preis wert, zu Ihrem Arsenal hinzuzufügen.

Ein Wort der Vorsicht: Wenn Sie mit dem Debuggen noch nicht vertraut sind und / oder sich nicht sicher sind, wie das System funktioniert, lesen Sie bitte die Dokumentation. Es ist eigentlich relativ leicht zu lernen, hat aber eine Lernkurve. 

Wenn Sie sich erst einmal an einen Debugger gewöhnt haben, werden Sie sich fragen, wie Sie jemals ohne Debugger gelebt haben.

3. Code Linting und Minification Tools

Code Linting und Minification Tools könnten zwei separate Themen sein, aber heutzutage gehen sie so Hand in Hand, dass ich dachte, sie wären es wert, zusammen aufgenommen zu werden.

Fusseln

Erstens: Für diejenigen, die nicht vertraut sind, ist Flusen im Wesentlichen der Prozess, um sicherzustellen, dass Ihr Code - in diesem Fall Ihr JavaScript-Code - einem bestimmten Standard entspricht. Das heißt, dass es keine schlechten Praktiken verwendet.

Laut Wikipedia:

lint war der Name, der ursprünglich einem bestimmten Programm gegeben wurde, das verdächtige und nicht tragbare Konstrukte (wahrscheinlich Fehler) im Quellcode der C-Sprache kennzeichnet. Der Begriff wird jetzt allgemein auf Tools angewendet, die auf verdächtige Verwendung in Software hinweisen, die in einer beliebigen Computersprache geschrieben ist.

In unserem Fall verfügen wir über Tools wie JSLint und JSHint, mit denen wir genau dies mit unserem JavaScript-Code tun können.

Sie können definitiv auch Linters für andere Sprachen finden, aber der häufigste Fall, in dem Sie in WordPress Fusseln finden werden, ist in Bezug auf JavaScript. Sie können dies auch in einem der am Anfang dieses Artikels erwähnten Build-Tools finden.

Minifizierung

Minimierung bezieht sich auf den Vorgang, eine Sprache zu übernehmen (CSS, Sass, LESS, JavaScript usw.) und dann alle Leerzeichen, langen Variablennamen usw. in eine kompaktere Datei zu entfernen.

Die Idee besteht nicht darin, verschleierten Code zu erstellen, sondern einfache Dateien, die Sie dem Browser in einer Produktionsumgebung bereitstellen können, sodass Ihre Website schneller geladen wird, da weniger Download erforderlich ist.

Es gibt auch den Begriff der Verkettung, der den Rahmen dieses Artikels übersteigt. Die Verkettung hat jedoch die Idee, dass alle reduzierten Skripte und Stylesheets in einer einzigen Datei zusammengefasst werden, sodass der Browser nur zwei Anforderungen stellen muss - eine für jede Datei.

In jedem Fall sorgen alle oben genannten Tools auch für die Minimierung (und Verkettung) Ihrer Skripte und Stile und geben sie in einem Verzeichnis Ihrer Wahl aus.

4. Versionskontrolle

Wann immer Sie an einer Codebase arbeiten, unabhängig davon, ob Sie sich selbst oder ein Team befinden, ist es immer hilfreich, sicherzustellen, dass Sie konsistente Versionen Ihrer Software beibehalten.

Kurz gesagt, die Versionskontrolle ist eine Methode, mit der Sie Ihren Code an ein Repository übergeben können. Wenn Sie oder Ihre Teamkollegen Änderungen vornehmen, werden die neuesten Versionen des Codes so verwaltet, dass Sie eine Historie des Vorgangs sehen können getan und dass Sie zu einem bestimmten Zeitpunkt in der Timeline zurückkehren können, falls etwas schief geht.

Bezüglich Was Software eignet sich am besten für die Versionskontrolle. Es gibt Tools wie Subversion, Git und Mercurial.

Wenn Sie daran gewöhnt sind, in der WordPress-Wirtschaft zu arbeiten, sind Sie wahrscheinlich mit Subversion vertraut, da es der Kern ist, um die Änderungen aufrechtzuerhalten, die in das System eingehen.

Wenn Sie jemals ein Plugin erstellt und veröffentlicht haben, mussten Sie mit Subversion arbeiten, um Ihren Code zu bestätigen, Ihre Version zu kennzeichnen und so weiter.

Aber Git wird immer beliebter. Die zwei beliebtesten Sites für Git-Hosting sind GitHub und Bitbucket. Wenn Sie nach einem soliden Git-Client suchen, kann ich Tower 2 nur wärmstens empfehlen.

Es ist zwar mein Kunde der Wahl, aber es gibt reichlich von anderen Alternativen. Letztendlich müssen Sie sicherstellen, dass Sie Ihren Code zur Quellcodeverwaltung hinzufügen, mit einem Client arbeiten, den Sie lieben, und wenn möglich, haben Sie ihn an jedes Bereitstellungssystem angeschlossen, das Sie jedes Mal verwenden Wenn Sie eine bestimmte Funktion oder Anforderung verschieben, wird die Umgebung, in der der Kunde das Produkt überprüft, mit dem neuen Code aktualisiert.

5. Bereitstellungstools

Wann immer Sie am Aufbau eines WordPress-Projekts oder eines Softwareprojekts arbeiten, ist dies der Standard-Workflow auf hoher Ebene, den wir alle befolgen:

  • Eine Entwicklungsumgebung, auf der wir eine lokale Maschine haben, auf der wir unsere Entwicklung durchführen.
  • Eine Staging-Umgebung, in der wir unseren Code bereitstellen, damit die Kunden das Projekt bearbeiten können, während wir uns durch die Anforderungen arbeiten.
  • Und dann die Produktionsumgebung, in der das endgültige Projekt bereitgestellt wird.

Zu diesem Zeitpunkt ist es keineswegs ungewöhnlich, dass ein Bereitstellungssystem mit Ihrer Quellcodeverwaltungssoftware verbunden ist, sodass jedes Mal, wenn ein neues Update für das Quellcode-Repository festgelegt wird, die neueste Version des Projekts veröffentlicht wird.

Glücklicherweise gibt es eine Reihe großartiger Tools, die zum Einrichten automatisierter Bereitstellungen verfügbar sind.

Codeship

Codeship positioniert sich als Dienst für die kontinuierliche Integration, der die erforderlichen Skripts zum Erstellen, Testen und Bereitstellen Ihres Projekts innerhalb eines Git-Commits ausführen kann.

Dies bedeutet, dass Sie eine Reihe von Skripts ausführen können, um während der Bereitstellung auszulösen und Benachrichtigungen zu erhalten, bevor Sie etwas für die Produktion bereitstellen.

Je nach Größe Ihres Teams und / oder Ihres Projekts ist Codeship eine gute Lösung, insbesondere für größere Organisationen, die aus Eigentümern, Managern, Projektmanagern usw. bestehen.

Ich habe dieses Tool jedoch persönlich in einem Zwei-Personen-Team eingesetzt und war mit den Ergebnissen zufrieden.

DeployBot

DeployBot hatte zuvor den Namen Dploy.io. Ähnlich wie bei Codeship zielt DeployBot darauf ab, den für ein Git-Repository festgeschriebenen Quellcode in einer Umgebung Ihrer Wahl bereitzustellen.

Darüber hinaus können Sie Skripts ausführen, Code erstellen und kompilieren und in verschiedenen Umgebungen basierend auf der von Ihnen bereitgestellten Konfiguration bereitstellen.

Natürlich sind dies nicht alle verfügbaren Bereitstellungstools, aber diese beiden werden Sie wahrscheinlich finden, wenn Sie mit professioneller Software arbeiten. Jeder von ihnen bietet seine eigenen Vor- und Nachteile für das, was Sie vielleicht zu tun versuchen. Da dies jedoch kein Übersichts- oder Vergleichsartikel ist, überlasse ich Ihnen die Übung, um herauszufinden, was am besten zu Ihrem Workflow passt.

Fazit

Wie in der Einführung erwähnt, sind diese Tools nichts anderes als Empfehlungen, wo Sie mit einigen Tools für die WordPress-Entwicklung anfangen können. Ich weiß, dass viele von Ihnen Ihre eigenen Vorlieben haben, was Sie für jedes der oben genannten Kriterien verwenden möchten.

Mit diesem Wort möchte ich Ihnen allen mitteilen, was Ihre bevorzugten Werkzeuge sind und warum Sie sie gerne in den Kommentaren verwenden. Auf diese Weise haben aktuelle und zukünftige Leser nicht nur einen Beitrag mit Empfehlungen, sondern auch Kommentare, die Alternativen bieten.

Bei der Entwicklung geht es nicht nur um das Lösen von Problemen. Es geht darum, nach Werkzeugen zu suchen, mit denen man auch rund acht Stunden am Tag an einem Computer arbeiten kann.