Vererbung von WordPress-Projekten: Tipps für die Entwicklung
Wenn Sie ein Unternehmen führen, das sich sowohl auf die Entwicklung von Lösungen von Grund auf als auch auf die Implementierung einer kundenspezifischen Lösung im Rahmen bereits bestehender Projekte (oder vielleicht beides) konzentriert, dann haben Sie wahrscheinlich – irgendwann – in der Situation gewesen, WordPress-Projekte zu erben.
Die Bewältigung von Projekten aus beiden Richtungen bringt eine Reihe von Herausforderungen mit sich – die meisten davon willkommen – aber es scheint weitaus häufiger vorzukommen, dass sich Leute darüber beschweren, mit einer bereits bestehenden Codebasis zu arbeiten.
Es ist nicht so, dass ich dieses Gefühl nicht habe, aber ich denke, dass es ein gewisses Maß an Unreife dabei gibt. Auf der einen Seite ja, einige Codebasen sind geradezu schrecklich. Aber dann sind einige Codebasen nicht so schlecht. Tatsächlich würde ich argumentieren, dass sie sich nur ein wenig von der Art und Weise unterscheiden, wie Sie es entwickeln würden.
Dies ist ein Fall, in dem Standards ins Spiel kommen, aber ich schweife vorerst davon ab.
Nehmen wir also an, Sie erben WordPress-Projekte und sind nicht besonders begeistert von der Codebasis, mit der Sie arbeiten. Wie kommt es, dass Sie Ihre Arbeit immer noch genießen können, ohne das Gefühl zu haben, dass Sie jeden Aspekt dessen, womit Sie es zu tun haben, kritisieren müssen?
Vererbung von WordPress-Projekten
Erstens ist diese Vorstellung, sich über die Arbeit anderer zu beschweren, das sprichwörtliche Wasser, in das ich nicht gerne trete.
- Ich kenne den Hintergrund nicht, der dazu geführt hat, dass die Codebasis in ihrem Zustand ist,
- Ich weiß nicht, warum bestimmte Dinge so entwickelt wurden (Zeitdruck, mangelnde Vertrautheit mit einem Projekt usw.),
- Ich habe die Aufgabe, etwas im Kontext des Projekts zu tun, warum also Zeit damit verbringen, sich auf Dinge zu konzentrieren, die nicht Teil meiner Verantwortung sind?
Ich verstehe: Es gibt Zeiten, in denen Code, den wir schreiben, mit Code kommunizieren muss, der bereits existiert. Und das kann schwer sein. Es gibt Entwurfsmuster, die nicht speziell für diese Situation sind.
Aber anstatt das zu behandeln, dachte ich, ich würde drei Dinge teilen, die meiner Meinung nach Reife zeigen, wenn es um die Entwicklung geht, wenn WordPress-Projekte geerbt werden, die uns irritieren könnten.
1 Refaktorisieren Sie nicht alles
Wie Martin Fowler wie gesagt:
Dieses opportunistische Refactoring wird von Onkel Bob als Folge der Pfadfinderregel bezeichnet – hinterlasse den Code immer in einem besseren Zustand, als du ihn vorgefunden hast.
Generell finde ich diese Regel gut, aber je nach Anforderungen des Projekts kann dies den Rahmen unserer Verantwortung sprengen.
Wann immer wir also auf etwas stoßen, von dem wir wissen, dass es überarbeitet werden muss, das Projekt aber reibungslos läuft. Wenn Sie eine Änderung an etwas vornehmen, weil Sie denken, dass es getan werden muss, wissen Sie nicht, wie sich dies auf das gesamte Projekt auswirken wird.
Wenn Sie Zeit haben, den Code vollständig zu prüfen, ist das eine Sache, aber wenn nicht, dann ist es Ihre Aufgabe, vorzustellen, was Sie vereinbart haben.
2 Konzentrieren Sie sich auf das, was Sie vereinbart haben
Und das führt zu diesem Punkt: Beim Vererben von WordPress-Projekten wird Ihnen eine bestimmte Menge an Arbeit übertragen und nichts weiter (deshalb haben wir ein Statement of Work, oder?).
So sehr Sie also die Umgebung, in der Sie sich befinden, ändern möchten, tun Sie es nicht. Konzentrieren Sie sich auf das, was Sie tun können, was nur Sie tun können und wozu Sie sich bereit erklärt haben.
Ich denke, es ist in Ordnung, sich Notizen zu Problemen zu machen, und ich denke, das kann sogar nützlich sein (und ich werde gleich darüber sprechen), aber verlieren Sie nicht den Fokus auf das, was Sie vereinbart haben. Alles andere als unprofessionell.
3 Urteilen Sie nicht über den vorherigen Entwickler
Eine andere Sache, die üblich ist – insbesondere bei Open Source – ist, den Entwickler zu beurteilen, der den ursprünglichen Codesatz geschrieben hat, mit dem Sie arbeiten.
Was ist das? So würde ich das nie schreiben.
Ich meine, wie oft haben wir uns das gedacht? Aber wir kennen nicht die Zeit, die Einschränkungen, die Erfahrung oder den Kontext, in dem der Entwickler gearbeitet hat.
Der von uns veröffentlichte Code ist nicht unbedingt repräsentativ für unser Können. Sie wird oft von Variablen von Drittanbietern diktiert, die Einfluss darauf haben, wie wir eine Lösung implementieren.
Und wir wissen, wie das ist, richtig? Wie oft wollten wir etwas auf eine bestimmte Art und Weise tun, aber die Zwänge und der Zeitplan, unter denen wir arbeiten, diktieren, was wir tun?
Warum sollten wir also erwarten, dass diese Entwickler anders sind?
Optional: Bieten Sie zukünftigen Support an
Wie bereits erwähnt, wenn Sie auf problematische Bereiche in der Codebasis stoßen, bedeutet das nicht, dass dies ein hoffnungsloser Fall ist.
Stattdessen halte ich es für eine gute Idee, wenn Sie auf diese Art von Problemen stoßen:
- Machen Sie sich Notizen zu den Dingen, die Sie gesehen haben,
- kommentieren Sie, was Sie tun würden, um das Problem zu beheben, und warum,
- Sprechen Sie mit dem Kunden über das, was Sie gesehen haben, und über die Vorteile einer Aktualisierung.
Dies führt natürlich zu zukünftiger Arbeit, aber vielleicht darüber hinaus ermöglicht es Ihnen, Lösungen anzubieten, um bessere, besser strukturierte Software zu erstellen, und es ermöglicht Ihnen sicherzustellen, dass Sie das Internet zu einem besseren Ort für ein so beliebtes CMS machen.
Nein, diese Arbeit ist nie garantiert, aber sie ist hilfreich.
Ich bin sicher, es gibt noch mehr
Dies sind nur drei Tipps, die ich auf Basis meiner Erfahrung beim Vererben von WordPress-Projekten anbiete. Es soll nicht allumfassend sein.
Stattdessen soll es ein paar Tipps geben, die es Ihnen ermöglichen, die Arbeit anderer in Bezug auf Ihre Arbeit rücksichtsvoller zu betrachten, klarer darüber nachzudenken, was Sie in ähnlichen Situationen tun können, und mehr Arbeit zu gewinnen, indem Sie das Bestehende verbessern Lösung möglicherweise.
Aber ich weiß, dass die Dinge, die ich erwähnt habe, nur einige meiner Beobachtungen sind. Haben Sie Ihre eigenen? Erwähne sie in den Kommentaren.
