Objektorientierte Programmierung in WordPress: Analyse, Teil 1
Als ich anfing, Mitgliedschaften auf dieser Site anzubieten, wusste ich, dass ich als erstes eine Einführung in die objektorientierte Programmierung angehen wollte.
Es scheint für die meisten Leute, die mit WordPress arbeiten, interessant zu sein, aber es gibt ein Problem, das entweder viele Leute abschreckt oder schlechte Ergebnisse liefert:
Objektorientierte Programmierung kann schnell kompliziert werden. Und das wird demotivierend.
Folgendes meine ich: Angenommen, Sie sind ein WordPress-Entwickler, der beginnt, objektorientierte Programmierung zu erforschen. Es beginnt damit, über Klassen und Konstrukteure und Funktionen zu sprechen, und alles scheint in Ordnung zu sein.
Aber dann kommt es schnell ins Spiel:
- private und geschützte Methoden,
- Nachlass,
- Polymorphismus,
- Designmuster,
- Abhängigkeitsspritze,
- Aufbewahrungsorte,
- usw.
Es schneit, nicht wahr? Und so muss es überhaupt nicht sein, aber es ist schwer, eine richtige Einführung zu finden, außer für ein paar Ressourcen, die da draußen sind.
Nach all dem (und als Hintergrund für meine Reise) wollte ich eine Reihe von Inhalten für diejenigen erstellen, die:
- echtes Interesse an objektorientierter Programmierung hast,
- Sie sind sich nicht sicher, wo Sie anfangen sollen,
- ihre Fähigkeiten erweitern möchten,
- von Null anfangen wollen, ohne zu schnell zu komplizierterem Material zu eskalieren.
Und damit fange ich heute an und im ersten großen Ernst für Mitglieder geplant. Wenn das alles gesagt ist, fangen wir an.
Lassen Sie uns insbesondere über objektorientierte Programmierung, Analyse, Design und warum sie damit beginnen sollte, sprechen.
Objektorientierte Programmierung: Analyse
Beim Schreiben von Code gibt es derzeit drei gängige Methoden:
Wann immer wir mit WordPress-Code arbeiten und ihn lesen, werden Sie eine Kombination aus prozeduralem Code und objektorientiertem Code lesen.
Es gibt einige Gründe dafür, aber es liegt außerhalb des Rahmens unserer Diskussion.
Dies liegt daran, dass WordPress mit beidem erstellt wird und dass bestimmte Aspekte der WordPress-Entwicklung mit prozeduralem Code geschrieben werden können, wie Plugins und Themes, und andere erfordern eine objektorientierte Entwicklung wie Widgets.
Analyse und Design
So oft möchten wir als Entwickler (angehend oder nicht) sofort mit dem Schreiben von Code beginnen. Ich verstehe auch. Es macht Spaß. Wir haben eine Idee, wir wollen sie zum Leben erwecken, wir wollen anfangen, sie zu nutzen, und wir wollen sie anderen Menschen zeigen.
Hier ist jedoch das Problem dabei: Wir springen oft direkt in das Schreiben von Code, um zu versuchen, das Projekt dazu zu bringen, das zu tun, was wir wollen.
Wenn dies ein einfaches (und ich meine wirklich einfaches) Projekt ist, dann ist es keine so große Sache. Ehrlich gesagt habe ich das getan (und GitHub ist der Beweis dafür). Aber wenn es um die Arbeit geht, die wir bei Pressware leisten ; es ist eine andere Geschichte.
Wenn es um solche Projekte geht, wollen wir ein bisschen Analyse und Design machen, bevor wir Code schreiben.
Was die Frage aufwirft, was ist objektorientierte Analyse und Design?
Analyse
Stellen Sie es sich kurz so vor:
Die Analyse ist der Prozess, die Idee, die der Kunde oder Sie haben, zu nehmen und auszugraben, was wirklich gebaut werden muss.
Auf diese Weise können Sie feststellen, was die Anwendung ausmacht und was für die erste Version der Anwendung nicht erforderlich ist. Ich bezeichne diese gerne als „Must-haves“ und als „Nice-to-haves“.
Eine gute Faustregel ist diese:
- Must-Haves sind die Dinge, die den Kern der Anwendung ausmachen und in die erste Iteration des Projekts einfließen müssen,
- Nice-to-haves sind die Dinge, die wir schließlich einbauen können
Letztendlich hilft uns dies, auf eine starke erste Version für den Kunden hinzuarbeiten. Vielleicht ist ein Beispiel für WordPress:
- Musste die erste Version von WordPress über eine Plugin-API verfügen oder musste sie nur die Möglichkeit bieten, Beiträge zu schreiben und im Web zu veröffentlichen?
Wenn Sie eine Plattform zum Bloggen erstellen, muss diese ab der ersten Version erweiterbar sein? Dies ist nicht mehr als ein Beispiel, aber Sie bekommen die Idee.
Was macht die Analyse so schwer?
Ich denke, es hat oft mit Personas zu tun.
Zum Beispiel denken wir als Programmierer, dass ein Projekt immer das tun sollte, was der Kunde will. Die Wahrheit ist, das ist nicht immer der Fall.
Ich meine, irgendwann könnte es so sein, aber die erste Version des Projekts muss nicht unbedingt so sein.
Außerdem ist eines der Prinzipien der objektorientierten Programmierung, dass wir nicht viel doppelten Code schreiben. Dies kann jedoch sehr schwierig sein, wenn keine ordnungsgemäße Analyse durchgeführt wurde.
Schließlich werden die Erfahreneren sagen, dass gute Software bewährte Prinzipien verwendet – ob Designmuster oder nicht –, aber dass sie im Laufe der Zeit leicht geändert werden kann. Das wächst gewissermaßen organisch.
Also, was sollen wir tun?
Im nächsten Artikel werde ich über drei Dinge sprechen, die wir als Entwickler tun können, um sicherzustellen, dass die Software, die wir für uns selbst oder andere entwickeln, uns in die richtige Richtung führt.
Ich werde nicht sagen, dass es eine Wunderwaffe ist, weil ich nicht glaube, dass es sie gibt, aber ich werde sagen, dass es ein ziemlich starker Ansatz ist, den ich bei anderen anwenden kann und der mir gut tut, und dass er in eine ziemlich gute Richtung führt in Bezug auf die objektorientierte Analyse.
Dies führt uns schließlich zum Design. Aber so weit sind wir noch nicht.

