Magento kodlama standartları


40

Geçenlerde Magentove Code Sniffer ile yoğun bir şekilde çalışmaya başladım ve hangi standartlara uymam gerektiğini bilmek istiyorum.

Zend kodlama standartlarını denedim , ancak 80 satır sınırını kullanmak istemiyorum ve çekirdekte de kullanılmıyor.

Ondan sonra, CS2 standartlarını denedim , ama bu ya _çeşitli fonksiyonlardan ve _içinde olan ve ad alanlarından yoksun sınıf isimleri nedeniyle işe yaramıyor .

Öyleyse, çekirdek kodun% 100 ile uyumlu olduğu başka bir standart var mı? Olmazsa, Magento'nun kendi kodlama standartları olmaz mı? Kendi stackexchange sitesine sahiptir, bazı iyi tanımlanmış kodlama standartları, uzantı geliştiricileri tarafından kullanılacaktır.

Yanıtlar:



18

Magento en iyi uygulamaları burada Josh Pratt tarafından tarif edilen oldukça iyi . Zend Kod Stili Standartlarını benimsemeyi ve bunlara uymayı önerir, ben de ona katılabilirim.

Maksimal hat uzunluğu katı bir gereklilik değildir. Ancak okunabilirlik açısından çok uzun çizgiler teşvik edilmemektedir.


2
Teşekkürler, kurallar.xml'i satır başına izin verilen 120 karaktere değiştirdim, böylece IDE'deki sinir bozucu hataları alamadım :)
Vlad Preda

1
İşte Magento 2'nin kuralları: raw.github.com/magento/magento2/master/dev/tests/static/… . Kelime, onları Magento 1.x üzerinde kullanmaları muhtemeldir.
Bob Brodie

1
Tim, Magento kod koklayıcısını kullanmalı mıyız? magento.stackexchange.com/a/8743/41
kalenjordan

1
@BobBrodie - Magento 1.x'i yönetiyorum ve Magento 1.x'e gelen değişikliklerin farkında değilim. Bu, büyük ve gereksiz bir değişim olacak ve sebepsiz yere büyük farklara yol açacaktı. Magento 1 kodlama standardı ZF +, Magento 2 PSR-1 / 2'dir. Lütfen Zyava'nın "resmi" dinleyiciye olan cevabına bakınız.
Piotr Kaminski


11

Magento 2 kod sniff'ini hem Magento 1.X hem de 2.X için standart olarak kullanmamız gerektiğini belirtmek isterim: https://github.com/cobhimself/phpcs-magento-rules/blob/master/ ruleset.xml

Ve işte temel olarak bağımsız bir depo olarak bu kural setinin bir aynası: https://github.com/cobhimself/phpcs-magento-rules



2
Ah iyi çağrı. Gönderdiğim bağlantı Magento 2 tartışmalarında referans olarak veriliyordu ... gönderdiğiniz bağlantı farklı mı? Kesinlikle daha yetkili bir github hesabı.
kalenjordan

2

Bu yayın biraz eski (2008) fakat sanırım hala geçerli:

Magento ZF kodlama standartlarına uyuyor mu? Evet

Birkaç istisna dışında, örneğin:

  • şablonlarda kısa açık etiketlere izin verilir.
  • birleştirme noktaları boşluklara alınmaz.
  • Uzun çizgiler için girinti sert sargılar, her zaman ileri bir tek sekme olmalıdır.

Edit Tim worte yorumunda Magento çekirdek templatesa içinde kısa bir açık etiket yoktur ve tavsiye edilmediği için bunları kullanmamak en iyisidir ( buraya bakın ).

Ama sana tavsiyem ... Kendi modülünü yazdığın için kendi kodlama tarzını kullan. Tecrübelerime göre, kendi tarzınıza kod yazarken, aşina olduğunuz, bir gün Magento kodlama stilini izlemekten daha az hata yapacaksınız, örneğin farklı bir web sitesi projesi için bir modül yazdığınızdan, örneğin bir sonraki Wordpress kodlama stilini .


2
Kesinlikle katılmıyorum. Topluluk uzantısı başkaları için okunabilir olmalıdır.
user487772

2
Ve Magento'da hiç kısa açık etiket görmedim.
user487772

1
Baskı noktası. Aynı anda farklı programlama dillerinde farklı projeler üzerinde programlama konusunda uzun yıllara dayanan bir deneyime sahip olduğumdan, kodlama tarzı ne olursa olsun iyi bir şekilde yapılandırılmış kodları okumakta hiç problem yaşamadım, ancak projeler arasında ve kod yazma, kendi kodunuzda aynı stile sahip olmak, stiliniz ekibinizin dışındaki diğer insanlarla kodlama uyumluluğunu sürdürmekten çok daha yararlıdır.
Domen Vrankar

@DomenVrankar, kod stilinizin iyi yapılandırılmış ve aynı zamanda okunabilir bir düşünce olduğunu varsaymıyor mu? Oysa Zend'in beğenilerinin arkasındaki ekipler, stilin ne olduğu ve dünyaca tanınması konusunda karar veren birçok kişiye sahip. Sadece düşünmek için yemek ...
Tom Burman

Bende aynı fikirde değilim.
sv3n,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.