มาตรฐานการเข้ารหัสวีโอไอพี


40

ฉันเพิ่งเริ่มทำงานอย่างกว้างขวางด้วยMagentoและดมกลิ่นรหัสและฉันอยากจะรู้ว่ามาตรฐานที่ฉันควรปฏิบัติตาม

ฉันลองใช้มาตรฐานการเข้ารหัสของ Zendแต่ฉันไม่ต้องการใช้ขีด จำกัด 80 บรรทัดและไม่ได้ใช้ในแกนเช่นกัน

หลังจากนั้นฉันลองใช้มาตรฐาน CS2แต่ก็ไม่ได้ผลเพราะ_ฟังก์ชั่นต่าง ๆ และชื่อคลาสที่มี_ในนั้นและไม่มีเนมสเปซ

ดังนั้นจะมีมาตรฐานอื่นที่รหัสหลักตรงตาม 100% ด้วยหรือไม่ ถ้าไม่มีวีโอไอพีไม่ควรมีมาตรฐานการเข้ารหัสของตัวเอง? มันมีไซต์ stackexchange ของตัวเองมาตรฐานการเข้ารหัสที่กำหนดไว้อย่างดีบางอย่างอาจถูกนำไปใช้โดยนักพัฒนาส่วนขยาย

คำตอบ:



18

วีโอไอพีปฏิบัติที่ดีที่สุดจะค่อนข้างอธิบายที่ดีโดย Josh แพรตต์ที่นี่ เขาแนะนำให้นำมาใช้และปฏิบัติตามมาตรฐานรูปแบบรหัส Zendและฉันสามารถเข้าร่วมได้เท่านั้น

ความยาวสายสูงสุดไม่ได้เป็นความต้องการที่เข้มงวด อย่างไรก็ตามจากจุดอ่านที่มองไม่เห็นเส้นที่ยาวเกินไปจะไม่ได้รับการสนับสนุน


2
ขอบคุณฉันเปลี่ยน ruleset.xml ไป 120 ตัวอักษรต่อบรรทัดได้รับอนุญาตดังนั้นผมจึงไม่ได้รับข้อผิดพลาดที่น่ารำคาญใน IDE ของฉัน :)
Vlad Preda

1
นี่คือกฎจากวีโอไอพี 2 คือ: raw.github.com/magento/magento2/master/dev/tests/static/... Word เป็นคำที่น่าจะใช้กับ Magento 1.x
Bob Brodie

1
ทิมคุณคิดว่าเราควรใช้รหัสดมกลิ่นวีโอไอพีหรือไม่ magento.stackexchange.com/a/8743/41
kalenjordan

1
@BobBrodie - ฉันจัดการ Magento 1.x และฉันไม่ได้ตระหนักถึงการเปลี่ยนแปลงดังกล่าวที่มาถึง Magento 1.x นี่จะเป็นการเปลี่ยนแปลงครั้งใหญ่และไม่จำเป็นซึ่งนำไปสู่ความแตกต่างอย่างมากโดยไม่มีเหตุผล มาตรฐานการเข้ารหัสของวีโอไอพี 1 คือ ZF +, วีโอไอพี 2 คือ PSR-1/2 โปรดดูคำตอบของ Zyava สำหรับ "ทางการ" ดมกลิ่น
Piotr Kaminski

12

นี่คือมาตรฐานการเข้ารหัสของตลาดวีโอไอพีล่าสุดสำหรับMagento1และMagento2

MEQP2 สำหรับ Magento2

MEQP1 สำหรับ Magento1

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


1
ทำให้นี่เป็นคำตอบที่ได้รับการยอมรับเนื่องจากเป็นมาตรฐานการเข้ารหัสอย่างเป็นทางการ ขอบคุณ @QaisarSatti
Vlad Preda

11

ฉันต้องการส่งว่าเราควรใช้โค้ดดมกลิ่น Magento 2 เป็นมาตรฐานสำหรับทั้ง Magento 1.X และ 2.X: https://github.com/cobhimself/phpcs-magento-rules/blob/master/ ruleset.xml

และนี่คือกระจกเงาของชุดกฎนั้นเป็นที่เก็บแบบสแตนด์อโลน: https://github.com/cobhimself/phpcs-magento-rules


1
ฉันใช้เป็นการส่วนตัว: github.com/magento-ecg/coding-standard
B00MER

2
อ่าสายดี ฉันคิดว่าลิงค์ที่ฉันโพสต์นั้นถูกอ้างถึงในการอภิปราย Magento 2 github ... ความคิดใด ๆ ถ้า / ว่าคุณโพสต์แตกต่างกันอย่างไร? มันเป็นบัญชี GitHub ที่มีสิทธิ์มากกว่าแน่นอน
kalenjordan

2

นี้โพสต์เป็นบิตเก่า (2008) แต่ผมคิดว่ามันเป็นยังคงถูกต้อง:

Magento ปฏิบัติตามมาตรฐานการเข้ารหัส ZF หรือไม่ ใช่

ด้วยข้อยกเว้นเล็กน้อยเช่น:

  • แท็กเปิดสั้น ๆ อนุญาตให้ใช้ในเทมเพลต
  • การต่อจุดไม่ได้อยู่ในช่องว่าง
  • การเยื้องสำหรับการตัดบรรทัดที่มีความยาวมากควรเป็นแท็บซอฟต์แท็บไปข้างหน้าเสมอ

แก้ไขตามที่ Tim worte อยู่ในความคิดเห็นไม่มีแท็กเปิดสั้น ๆ ใน Magento core templatesa และเป็นการดีที่สุดที่จะไม่ใช้แท็กเหล่านี้เนื่องจากไม่แนะนำ (ดูที่นี่ )

แต่คำแนะนำของฉันกับคุณ ... เนื่องจากคุณกำลังเขียนโมดูลของคุณเองใช้รูปแบบการเข้ารหัสของคุณเอง จากประสบการณ์ของฉันคุณจะทำผิดพลาดน้อยลงเมื่อเขียนโค้ดในสไตล์ของคุณเองที่คุณคุ้นเคยมากกว่าถ้าคุณทำตามสไตล์การเข้ารหัส Magento หนึ่งวันและเช่นสไตล์การเข้ารหัส Wordpress ถัดไปเพียงเพราะคุณกำลังเขียนโมดูลสำหรับโครงการเว็บไซต์อื่น .


2
ฉันไม่เห็นด้วยอย่างเคร่งครัด ส่วนขยายชุมชนต้องสามารถอ่านได้สำหรับผู้อื่น
user487772

2
และฉันไม่เคยเห็นแท็กเปิดสั้น ๆ ใน Magento
user487772

1
ประเด็นของการต่อต้าน เนื่องจากฉันมีประสบการณ์ไม่กี่ปีกับการเขียนโปรแกรมในโครงการที่แตกต่างกันในภาษาการเขียนโปรแกรมที่แตกต่างกันในเวลาเดียวกันฉันไม่เคยมีปัญหาในการอ่านโค้ดที่มีโครงสร้างอย่างดีไม่ว่ารูปแบบการเขียนโปรแกรมจะเป็นอย่างไร การเขียนโค้ดมันมีประโยชน์มากกว่าการมีสไตล์แบบเดียวกันกับโค้ดของคุณเองมากกว่าการเขียนโค้ดที่เข้ากันได้กับคนอื่น ๆ นอกทีมของคุณ
Domen Vrankar

@DomenVrankar ไม่คิดว่าสไตล์โค้ดของคุณมีโครงสร้างที่ดีและสามารถอ่านได้หรือไม่ ในขณะที่ทีมที่อยู่เบื้องหลังการถูกใจของ Zend มีหลายคนที่ตัดสินใจว่าสไตล์เป็นอย่างไรและเป็นที่รู้จักทั่วโลก อาหารเพียงสำหรับความคิด ...
ทอมพม่า

ฉันไม่เห็นด้วย
sv3n
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.