Standar pengkodean Magento

40

Saya baru-baru ini mulai bekerja secara luas dengan Magentodan Kode sniffer , dan saya ingin tahu standar mana yang harus saya ikuti.

Saya mencoba standar pengkodean Zend , tetapi saya tidak ingin menggunakan batas garis 80, dan itu tidak digunakan dalam inti juga.

Setelah itu, saya mencoba standar CS2 , tetapi itu tidak berhasil karena _di berbagai fungsi, dan nama kelas, yang ada _di dalamnya, dan tidak memiliki ruang nama.

Jadi, apakah ada standar lain yang sesuai dengan kode inti 100%? Jika tidak, bukankah Magento harus memiliki standar pengkodean sendiri? Ini memiliki situs stackexchange sendiri, beberapa standar pengkodean yang didefinisikan dengan baik akan diterima untuk digunakan oleh pengembang ekstensi.

Vlad Preda
sumber

Jawaban:

18

Praktik terbaik Magento cukup bagus dijelaskan oleh Josh Pratt di sini . Dia menyarankan untuk mengadopsi dan mengikuti Standar Gaya Kode Zend dan saya hanya bisa bergabung dengannya.

The garis maksimal panjang bukan persyaratan yang ketat. Namun dari sudut pandang keterbacaan, garis yang terlalu panjang tidak dianjurkan.

pengguna487772
sumber
2
Terima kasih, saya mengganti ruleset.xml ke 120 karakter yang diizinkan per baris, jadi saya tidak mendapatkan kesalahan sial dalam IDE saya :)
Vlad Preda
1
Berikut adalah aturan dari Magento 2: raw.github.com/magento/magento2/master/dev/tests/static/… . Word adalah kemungkinan besar mereka menggunakannya di Magento 1.x.
Bob Brodie
1
Tim, apakah Anda pikir kita harus menggunakan sniff kode Magento? magento.stackexchange.com/a/8743/41
kalenjordan
1
@BobBrodie - Saya mengelola Magento 1.x dan saya tidak mengetahui adanya perubahan yang datang ke Magento 1.x. Ini akan menjadi perubahan besar dan tidak perlu, menyebabkan perbedaan besar tanpa alasan. Standar pengkodean Magento 1 adalah ZF +, Magento 2 adalah PSR-1/2. Silakan lihat jawaban Zyava untuk sniffer "resmi".
Piotr Kaminski
12

Berikut adalah standar pengkodean pasar Magento terbaru untuk Magento1 dan Magento2

MEQP2 Untuk Magento2

MEQP1 Untuk Magento1

https://github.com/magento/marketplace-eqp

Qaisar Satti
sumber
1
Jadikan ini sebagai jawaban yang diterima karena ini adalah standar pengkodean resmi. Terima kasih @QaisarSatti
Vlad Preda
11

Saya ingin menyampaikan bahwa kita harus menggunakan sniff kode Magento 2 sebagai standar untuk Magento 1.X dan 2.X: https://github.com/cobhimself/phpcs-magento-rules/blob/master/ ruleset.xml

Dan inilah intinya cermin dari aturan tersebut sebagai repositori mandiri: https://github.com/cobhimself/phpcs-magento-rules

kalenjordan
sumber
1
Saya pribadi menggunakan: github.com/magento-ecg/coding-standard
B00MER
2
Ah panggilan yang bagus. Saya pikir tautan yang saya poskan direferensikan dalam diskusi gitub Magento 2 ... ada ide jika / bagaimana yang Anda posting berbeda? Ini tentu saja akun github yang lebih otoritatif.
kalenjordan
2

Ini posting adalah sedikit tua (2008) tapi saya kira bahwa itu masih berlaku:

Apakah Magento mengikuti standar pengkodean ZF? iya nih

Dengan beberapa pengecualian, seperti:

  • tag terbuka pendek diizinkan dalam template.
  • titik-titik penggabungan tidak tertutup dalam spasi.
  • lekukan untuk untuk garis panjang hard wraps harus selalu menjadi satu tab lembut ke depan.

Sunting Saat Tim menulis komentar, tidak ada tag terbuka pendek di templata inti Magento dan lebih baik tidak menggunakannya karena mereka tidak direkomendasikan (lihat di sini ).

Tapi saran saya untuk Anda ... Karena Anda menulis modul Anda sendiri, gunakan gaya pengkodean Anda sendiri. Dari pengalaman saya, Anda akan membuat lebih sedikit kesalahan saat menulis kode dengan gaya Anda sendiri, yang Anda kenal, daripada jika Anda mengikuti gaya pengkodean Magento suatu hari dan misalnya gaya pengkodean Wordpress berikutnya hanya karena Anda menulis modul untuk proyek situs web yang berbeda .

Domen Vrankar
sumber
2
Saya sangat tidak setuju. Perluasan komunitas harus mudah dibaca oleh orang lain.
user487772
2
Dan saya tidak pernah melihat tag terbuka pendek di Magento.
user487772
1
Tempat tujuan. Karena saya sudah memiliki beberapa tahun pengalaman dengan pemrograman pada proyek yang berbeda dalam bahasa pemrograman yang berbeda pada saat yang sama saya tidak pernah mengalami masalah membaca kode terstruktur dengan baik tidak peduli gaya pengkodean tetapi ketika datang untuk dengan cepat beralih antara proyek dan menulis kode itu jauh lebih bermanfaat untuk memiliki gaya yang sama di seluruh kode Anda daripada mempertahankan kompatibilitas gaya pengkodean dengan orang lain di luar tim Anda.
Domen Vrankar
@DomenVrankar tidak menganggap gaya kode Anda terstruktur dengan baik dan dapat dibaca juga merupakan pendapat? Sedangkan tim di belakang orang-orang seperti Zend memiliki banyak orang membuat keputusan tentang apa gaya dan dikenal di seluruh dunia. Hanya makanan untuk dipikirkan ...
Tom Burman
Saya juga tidak setuju.
sv3n