Netresearch für ExtDN.org

Netresearch für ExtDN

Unsere gemeinsame Mission ist es, an den Werten und Richtlinien für gute Modul-Entwicklung zu arbeiten, um so eine stetige Verbesserung des Angebotes im Ökosystem rund um Magento sicherstellen zu können.

Netresearch ist Mitgliedim Magento Extension Developers Network

Netresearch ist Mitglied im Magento Extension Developers Network (ExtDN). ExtDN.org kommt aus der starken Entwickler Community rund um Magento und wurde ursprünglich Ende 2015 von Kristof Ringleff (Fooman) und gleichgesinnten Entwicklern initiiert. Im Rahmen der Extensionentwicklung ist Netresearch bereits frühzeitig Teil dieses Ökosystems.

Langjährige erfolgreiche und vertrauensvolle Partnerschaften, wie mit der Deutsche Post, DHL sowie dem Payment Anbieter Ingenico ePayments, sind seither entstanden und bis heute noch aktueller und aktiver Bestandteil unseres alltäglichen Tuns.

Als Experten begleiten wir unsere Kunden von der Konzeption, über die initiale Entwicklung, die stetige Verbesserung und Optimierung sowie dem Support rund um das Extension Produkt.

Wir sind der Überzeugung, dass der intensive Austausch über Erfahrungen sowie die Festlegung gemeinsamer Prinzipien und Code Guidelines einen wirklichen Mehrwert bieten. Die praktischen Erkenntnisse und “Best Practices” der Entwickler-Community fließen somit auch direkt in das Grundprodukt Magento ein. Alle Mitglieder von ExtDN leisten ihren Beitrag, um das Ökosystem rund um Magento nachhaltig zu verbessern.

Daher unterstützt Netresearch gern ExtDN.

ExtDN beschreibt sich selbst offiziell als

Ein Netzwerk von führenden Entwicklern von Magento-Extensions, die eine gemeinsame Vision eines florierendes Magento-Ökosystem mit dem angestrebten & notwendigen Erfolg der E-Commerce Händlers teilen. Gemeinsam sind alle ExtDN-Mitglieder bestrebt, Magento als eine der weltweit führende E-Commerce-Plattform für Händler voranzutreiben.

Kristoff Ringleff (Fooman)
Initiator ExtDN

mehr erfahren

Die Prinzipien professioneller Extension-Entwicklung für Magento 2

1. Verwende Composer

Verwende stets Composer-Pakete, um (insbesondere kommerzielle) Erweiterungen zu verteilen. Für eine lokale Umgebung ist es in Ordnung eigenen Code unter app/code zu entwickeln. Wenn das Modul jedoch in anderen Umgebungen verteilt ist, sollte es zwingend über Composer erfolgen, da sonst Abhängigkeiten nicht verwaltet werden. In einer Produktionsumgebung sollte der app/code Ordner daher idealerweise leer sein.


2. Nutze Service contracts

Wenn eine Abhängigkeit in eine Klasse eingefügt wird, versuche diese Abhängigkeit zu abstrahieren. Wenn eine bestimmte Klasse in Form einer PHP-Schnittstelle bevorzugt wird, sollte stattdessen die Schnittstelle eingefügt werden. Injiziere nur Klassen oder Schnittstellen (auch "Service Contracts"), die entweder Bestandteil des Magento-Frameworks oder der API bestimmter Module sind.


3. Schreib Tests

Testen sollte zu einer Gewohnheit werden, die sich auch langfristig auszahlt. Stelle sicher, dass die Funktionalität mithilfe von Integrationstests und Funktionstests überprüft wird. Denk daran, dass Unit Tests mit isoliertem Code sinnvoller sind und Integrationstests mehr Sinn mit dem Code, der den Rest von Magento berührt, machen.


4. Dokumentiere die Abhängigkeiten

Wenn das Modul von anderen Modulen abhängig ist, stelle sicher, dass sowohl die Composer-Datei als auch die module.xml Datei dies widerspiegelt. Wenn das Modul nur vom Magento-Framework abhängig ist, sollte es besser als Bibliothek und nicht als Modul behandelt werden. Die Einschränkungen der Composer-Version sollten den semantischen Versionierungsstandards von Magento entsprechen.



5. Veröffentliche in Release Zyklen

Wenn eine Änderung vorgenommen wurde, zähle die Versionsnummer des Composer-Pakets hoch. Folge der semantischen Versionierung: Major für Kompatibilitätsänderungen, Minor für Funktionen, Patch für Fixes. Erhöhe die setup_version Nummer in der Datei module.xml nur, wenn Änderungen an der Datenbank erforderlich sind.


6. Stelle eine Benutzungsanleitung zur Verfügung

Alle Benutzer sollten klare Anwender-Dokumentation zur Installation, Aktualisierung und Deinstallation der Erweiterung sowie zur Verwendung der bereitgestellten Funktionen erhalten. Diese kann z. B. einen technischen Überblick der Extension enthalten oder auch Anpassungen dokumentieren, wie z. B. observable Events und öffentlichen API-Definition.


7. Nutze Events & Plugins

Verwende Events und Plugins als @api markierte Methoden als primäres Mittel zur Anpassung der Funktionalität. Wenn die Funktionalität von Nicht-API-Methoden mit Plugins abfangen werden, was weniger empfohlen wird, sollten das in den Constraints der Composer-Version berücksichtigt werden. Vermeide es nach Möglichkeit, vorhandene Einstellungen neu zu definieren.


8. Überprüfe Deinen geschriebenen Code

Verwende ein statisches Analysewerkzeug wie PHP CodeSniffer (mit den ExtDN- und MEQP-Regelsätzen). Prüfe stets, ob die Erweiterung auch im Produktionsmodus funktioniert. Stelle sicher, dass die Erweiterung auch wirklich unter den Magento-Versionen funktioniert, für die die Kompatibilität angegeben wird. Bitte Kollegen oder befreundete Entwickler, den Code zu überprüfen, bevor er final freigegeben wird.

© Im Original auf ExtDN.org unter The Dos of Magento Magento 2 Extension development

 

Stop Complaining, Start Contributing!
von Jisse Reitsma (ExtDN member)

ExtDN board member Jisse Reitsma and his talk "Best coding practices recommended by ExtDN" from Meet Magento 2018 in New York