Magento-Codierungsstandards


40

Ich habe vor kurzem intensiv mit Magentound Code Sniffer gearbeitet und möchte wissen, welchen Standards ich folgen soll.

Ich habe versucht, Zend-Codierungsstandards zu verwenden , aber ich möchte das 80-Zeilen-Limit nicht verwenden, und es wird auch nicht im Core verwendet.

Danach habe ich CS2-Standards ausprobiert , aber das funktioniert auch nicht, weil _in verschiedenen Funktionen und Klassennamen ein _und keine Namespaces enthalten sind.

Gibt es also einen anderen Standard, dem der Kerncode zu 100% entspricht? Wenn nicht, sollte Magento nicht seine eigenen Codierungsstandards haben? Es hat eine eigene Stack-Exchange-Site. Einige gut definierte Codierungsstandards können gerne von Erweiterungsentwicklern verwendet werden.

Antworten:



18

Die Best Practices von Magento werden von Josh Pratt hier recht gut beschrieben . Er schlägt vor, die Zend Code Style Standards zu übernehmen und zu befolgen, und ich kann ihm nur beitreten.

Die maximale Zeilenlänge ist nicht zwingend erforderlich. Aus Sicht der Lesbarkeit werden jedoch zu lange Zeilen nicht empfohlen.


2
Danke, ich habe die ruleset.xml auf 120 Zeichen pro Zeile umgestellt, damit ich die nervigen Fehler in meiner IDE nicht bekomme :)
Vlad Preda

1
Hier sind die Regeln von Magento 2: raw.github.com/magento/magento2/master/dev/tests/static/… . Es ist sehr wahrscheinlich, dass sie auf Magento 1.x verwendet werden.
Bob Brodie

1
Tim, denkst du, wir sollten den Magento-Code-Sniff verwenden? magento.stackexchange.com/a/8743/41
kalenjordan

1
@BobBrodie - Ich verwalte Magento 1.x und bin mir solcher Änderungen in Magento 1.x nicht bewusst. Dies wäre eine große und unnötige Änderung, die ohne Grund zu großen Unterschieden führen würde. Magento 1-Codierungsstandard ist ZF +, Magento 2 ist PSR-1/2. Siehe Zyavas Antwort für "offiziellen" Schnüffler.
Piotr Kaminski


11

Ich möchte einreichen, dass wir den Magento 2-Code-Sniff als Standard für Magento 1.X und 2.X verwenden sollten: https://github.com/cobhimself/phpcs-magento-rules/blob/master/ ruleset.xml

Und hier ist im Wesentlichen ein Spiegel dieses Regelsatzes als eigenständiges Repository: https://github.com/cobhimself/phpcs-magento-rules


1
Ich persönlich benutze: github.com/magento-ecg/coding-standard
B00MER

2
Ah, guten Ruf. Ich denke, der Link, den ich gepostet habe, wurde in einer Magento 2-Github-Diskussion referenziert ... Gibt es eine Idee, ob / wie sich der von Ihnen gepostete unterscheidet? Es ist sicherlich ein maßgeblicherer Github-Account.
Kalenjordan

2

Dieser Beitrag ist ein bisschen alt (2008), aber ich vermute, dass er noch gültig ist:

Befolgt Magento die ZF-Kodierungsstandards? Ja

Mit wenigen Ausnahmen wie:

  • Kurze offene Tags sind in Vorlagen zulässig.
  • Verkettungspunkte werden nicht in Leerzeichen eingeschlossen.
  • Einrückung für lange Zeilen Harte Zeilenumbrüche sollten immer eine weiche Lasche vor sich haben.

Bearbeiten Als Kommentar zu Tim gibt es in Magento-Kernvorlagen keine kurzen offenen Tags, und es ist am besten, sie nicht zu verwenden, da sie nicht empfohlen werden (siehe hier ).

Aber mein Rat an Sie ... Da Sie Ihr eigenes Modul schreiben, verwenden Sie Ihren eigenen Codierungsstil. Aus meiner Erfahrung werden Sie weniger Fehler machen, wenn Sie Code in Ihrem eigenen Stil schreiben, den Sie kennen, als wenn Sie den Magento-Codierungsstil eines Tages und z. B. den Wordpress-Codierungsstil des nächsten Tages befolgen, nur weil Sie ein Modul für ein anderes Website-Projekt schreiben .


2
Ich stimme absolut nicht zu. Community-Erweiterung muss für andere lesbar sein.
user487772

2
Und ich habe in Magento nie kurze offene Tags gesehen.
user487772

1
Meinungsverschiedenheit. Da ich einige Jahre Erfahrung mit der Programmierung in verschiedenen Projekten in verschiedenen Programmiersprachen zur gleichen Zeit hatte, hatte ich nie Probleme, gut strukturierten Code zu lesen, unabhängig vom Codierungsstil, aber wenn es darum geht, schnell zwischen den Projekten und zu wechseln Beim Schreiben von Code ist es weitaus vorteilhafter, denselben Stil in Ihrem eigenen Code zu verwenden, als die Kompatibilität des Codestils mit anderen außerhalb Ihres Teams beizubehalten.
Domen Vrankar

@DomenVrankar geht nicht davon aus, dass Ihr Codestil gut strukturiert und auch eine Meinung lesbar ist? Während die Teams hinter Zend viele Leute haben, die die Entscheidung treffen, was der Stil ist und weltweit bekannt ist. Nur Denkanstöße ...
Tom Burman

Ich stimme auch nicht zu.
Sv3n
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.