معايير الترميز لورد [دليل]
السبب في أن لدينا معايير الترميز على الإطلاق (وليس فقط من أجل WordPress) هو خلق بيئة مألوفة للمبرمجين العمل في المشروع. يشمل WordPress على وجه الخصوص مجموعة واسعة من المنتجات. من النواة نفسها إلى السمات والإضافات ، هناك الكثير الذي يجب إلقاء نظرة عليه - والكثير من الأمور التي يجب الخلط بينها.
إذا قام الجميع بتنسيق الكود بنفس الطريقة ، واستخدموا التعليقات ، ونمط الوثائق نفسه ، وهكذا ، فإن العمل معًا يصبح أسهل بكثير ، ولن يكون منحنى التعلم للانضمام إلى مشروع جديد حادًا.
تضخمت الحاجة إلى التماسك في WordPress من خلال الحالة التي توجد بها قاعدة الشفرة. لا يتبع WordPress منهجًا صارمًا موجهًا نحو الكائنات ولا يستخدم نمط MVC. المشاريع التي تتبع إرشادات OOP و MVC دون استثناء (مثل Laravel) لها الاتساق وأفضل الممارسات “خبز في” بسبب هيكلها.
ووردبريس ، للأسف ، ناضج لترميز السباغيتي ، ويعرف أيضًا باسم تفعل ما تريد. يصعب تطبيق أفضل الممارسات ببساطة لأن المنتجات التي تستخدم كودًا سيئًا قد تعمل بنفس القدر (على السطح).
باتباع معايير ترميز WordPress ، يمكنك معرفة القليل عن قواعد الترميز الخاصة بـ WordPress ، وإنشاء المزيد من المنتجات المتوافقة مع WordPress. أظهر للمجتمع أنك تهتم وأنك تثير مشاعر كود عالية الجودة.
المزيد على Hongkiat.com:
- 10 أسوأ كوابيس لمطوري الويب
- 5 أسباب لماذا CSS يمكن أن تكون أصعب لغة للجميع
- 30 ردود الفعل المشتركة المبرمجين عندما تسوء الأمور
بعض الملاحظات على المعايير
المعايير لا تحدد الصواب والخطأ. قد لا توافق على قاعدة ، على سبيل المثال يجب استخدام الأقواس ، حتى إذا لم تكن هناك حاجة إليها. الغرض من معايير الترميز في WordPress هو عدم تحديد ما إذا كنت على صواب أو خطأ ، وإنما هو تحديد كيفية القيام بذلك في WordPress.
المعايير ليست للمناقشة. استخدام المعايير ليس هو المكان المناسب لاتخاذ موقف ضد أسلوب المسافة البادئة الذي لا تحبه. إذا كان هناك شيء ما في معايير الترميز ، فقم بذلك بهذه الطريقة. سوف مطوري WordPress أحبك لذلك! بعد قولي هذا ، إذا كنت لا توافق على شيء هناك ، فقم برفع صوتك وإخبار الناس بذلك. من الممكن دائمًا القيام بالأشياء بشكل أفضل ولكن يجب عليك فقط تغيير نمط الترميز الخاص بك إذا كانت المعايير تسمح بذلك.
الاتساق على الاستبقاء الشرج. إذا كنت في آخر 10٪ من مشروعك واكتشفت أنك تستخدم مصطلحات التسمية غير الصحيحة للفئات ، فلا تقم بالتبديل في منتصف الطريق. في رأيي الشخصي ، أفضل قراءة شيء غير صحيح باستمرار من شيء صحيح أحيانًا وأحيانًا لا. يمكنك دائمًا كتابة برنامج نصي لتغيير الأشياء دفعة واحدة ، أو قراءة التعليمات البرمجية الخاصة بك في النهاية.
اتباع المعايير أمر صعب! وضع دعامة على نفس سطر الوظيفة بدلاً من ذلك ، يسهل وضع سطر أدناه ، حتى إذا كنت معتادًا على ضرب الدخول من قبل. ومع ذلك ، عندما تحتاج إلى التفكير في 100 قاعدة صغيرة ، تصبح العملية برمتها عرضة للخطأ قليلاً. على الرغم من موقفي الصارم بشأن اتباع المعايير ، فأنا مذنب مثل أي شخص آخر في ارتكاب الأخطاء. في نهاية اليوم ، المسافة البادئة غير الصحيحة ليست خطيئة لا رجعة فيها. نبذل قصارى جهدك لاتباع جميع القواعد ، وسوف تتعلم كل شيء في الوقت المناسب.
معايير الترميز ووردبرس]
يحتوي WordPress الآن على أربعة أدلة ، واحد لكل لغة رئيسية تستخدم: PHP و HTML و Javascript و CSS. إنها تشكل جزءًا من مجموعة أكبر من المعرفة ، كتيب المساهم الأساسي. سيستغرق المرور بكل شيء بعض الوقت ، لذا فقد أبرزت بعض المقتطفات من اللغات الأربع التي أرى الناس يخطئون في كثير من الأحيان.
PHP
PHP هي اللغة الرئيسية في WordPress وهي لغة مكتوبة بشكل فضفاض للغاية مما يجعلها ناضجة للتنظيم.
أنماط هدفين
يجب دائمًا وضع دعامات البدء في نهاية الأسطر. يجب وضع البيانات ذات الصلة على نفس السطر مثل قوس الإغلاق السابق. هذا هو أفضل مثال على ذلك مع مثال رمز:
if (condition) // Do Something elseif (condition) // Do Something else // Do Something
استخدام الفضاء السخي
أنا لست من عشاق الكود المبتور (لدي بصر سيء) لذا فإنني أحب تطبيقه بشكل خاص. ضع المساحات بعد الفواصل, وعلى جانبي منطقي, مقارنة, خيط و مشغلي الاحالة, بعد إذا, ELSEIF, إلى عن على, foreach و مفتاح كهربائي البيانات وهلم جرا.
من الأسهل تحديد المكان الذي لا ينبغي أن تضاف فيه المساحات! الأوقات الوحيدة التي يجب أن لا تضيف مسافات هي عندما تلبيس أو الرجوع إلى صفائف.
استثناء مربكة إلى حد ما استثناء هو صفائف حيث مفتاح الصفيف هو متغير, في هذه الحالة ، استخدم مسافة. يجب أن يوضح هذا المثال هذا:
function my_function ($ complete_array = null، $ key_1 = 4، $ key_2 = 'bar') if (null == $ complete_array) $ final_array = $ complete_array؛ آخر $ key_1 = (integer) $ key_1؛ $ final_array [0] = 'هذا' ؛ $ final_array [$ key_1] = 'is'؛ $ final_array [$ key_2] = 'an' ؛ $ final_array ['last'] = 'example'؛ إرجاع $ final_array؛
اصطلاحات التسمية
قد يكون من الصعب التعود على هذا ، خاصة إذا كنت من بيئات مختلفة. شيء صغير:
- أسماء المتغيرات يجب ان يكون كل حالة أقل, الكلمات مفصولة بشرطة سفلية
- أسماء الصف يجب استخدام الكلمات الكبيرة مفصولة بخط سفلي. المختصرات يجب أن يكون كل شيء الأحرف الكبيرة
- الثوابت يجب ان يكون جميع الأحرف الكبيرة, رمزا بالشرطات السفلية
- أسماء الملفات يجب ان يكون كل حالة أقل, مفصولة شرطات
شروط يودا
ظروف الكتابة في الاتجاه المعاكس أكثر مما اعتدت على منع تحليل الأخطاء. يبدو غريب بعض الشيء ولكنه رمز أفضل.
if ('Daniel' === $ name) echo 'Write article you will'؛
HTML
لا يحتوي HTML على العديد من القواعد المرتبطة به ، ويمكنني أن أتوصل إلى الكثير لجعل الأشياء أكثر نموذجية. هناك خمس قواعد فقط تحتاج إلى معرفتها عند كتابة HTML:
- يجب التحقق من صحة الرمز الخاص بك في مقابل أداة التحقق من W3C.
- يجب أن تحتوي علامات HTML ذاتية الإغلاق على مسافة واحدة تمامًا قبل الشرطة المائلة للأمام (هذا هو أحد الأشياء التي أكرهها شخصيًا ، ولكنها من مواصفات W3C ، وليس فقط صورة غاضبة من WordPress)
- يجب أن تكون السمات والعلامات كلها صغيرة. الاستثناء الوحيد هو عندما تكون قيم السمات مخصصة للاستهلاك البشري ، وفي هذه الحالة يجب كتابتها بشكل طبيعي.
- يجب أن تحتوي جميع السمات على قيمة ويجب أن تكون مقتبسة (كتابة
غير صحيح)
- يجب تحقيق المسافة البادئة باستخدام علامات التبويب ويجب أن تتبع البنية المنطقية.
CSS
CSS هي لغة أخرى مكتوبة بشكل فضفاض ، لذلك هناك الكثير من العمل الذي يتعين القيام به هنا أيضًا. ومع ذلك ، فإن المعايير سهلة للغاية على المبرمجين.
محددات
يجب أن يكون المحددون مؤهلين حسب الضرورة ، وأن يكون قابلاً للقراءة إنسانيًا ، وأن يكون كل شيء صغيرًا بكلمات مفصولة بشرطة ، ويجب أن يستخدم محددو السمات علامات اقتباس مزدوجة. إليك مثال موجز:
إدخال [type = "text"] ، إدخال [type = "password"] ، .name-field background: # f1f1f1؛
ترتيب العقار
تدرك المعايير الحاجة إلى بعض المساحات الشخصية هنا لأنها لا تنص على ترتيب محدد لقواعد CSS. ما هم فعل يقول هو أنه يجب عليك اتباع هيكل الدلالي ذلك من المنطقي. تجميع الخصائص حسب علاقاتهم أو تجميعها أبجديًا, لا تكتبها بشكل عشوائي.
السبب الأكبر للعشوائية هو “يا أنا أيضا بحاجة إلى إضافة هامش” ثم المتابعة لإضافته إلى أسفل. خذ 0.3 ثانية إضافية وأضف القاعدة في المكان المنطقي.
- عرض
- وضع
- نموذج مربع
- الألوان والطباعة
- آخر
.profile-modal display: block؛ الموقف: مطلقة؛ اليسار: 100px؛ قمة: 90px؛ الخلفية: # ff9900؛ اللون: # ff؛
تنسيق القيمة
هذا هو المكان الذي أكره فيه رؤية التناقضات. إذا لم تتبع الإرشادات ، فسيظل هذا أفضل من رؤية مساحة قبل القيمة في بعض الأحيان ؛ في بعض الأحيان باستخدام اختزال ، وأحيانا لا ؛ في بعض الأحيان باستخدام وحدات على 0 القيم ، وأحيانا لا ، الخ.
تنسيق القيمة معقدة للغاية ولكن انها تأتي بشكل طبيعي مع بعض الممارسات. ألق نظرة على الدليل الدقيق في الدستور الغذائي لتنسيق قيمك.
جافا سكريبت
في تجربتي ، جافاسكريبت هو الأكثر عرضة للذهاب إلى كل مكان. في حين أن العديد من المطورين يعرفون قدرًا كبيرًا من جافا سكريبت ، فقد تم تعلمه تدريجيًا ، كفكرة لاحقة لـ HTML و CSS و PHP. عندما تبدأ للتو في استخدام لغة جديدة ، فأنت ترتكب المزيد من الأخطاء ، وإذا لم تتسبب تلك الأخطاء في أخطاء فادحة ، فقد تصبح متأصلة فيك..
في كثير من الحالات ، تشير المعايير إلى حد السطر أو الحالة “إذا كان الخط ليس طويلاً”. هذا يشير إلى jQuery Style Guide الذي يفرض أ 100 حرف الحد على الخطوط. يعتمد دليل WordPress على دليل jQuery ، لذلك من الجيد إعطاء هذه القراءة أيضًا.
منقوطة
هذه قاعدة أبسط ولكنها قاعدة يتم تجاهلها بشكل متكرر. لا تتجاهل أبدًا فاصلة منقوطة لمجرد أن الشفرة ستعمل بدونها. انها قذرة فقط.
الطعج
يجب دائمًا استخدام علامات التبويب لوضع علامات المسافة البادئة. يجب عليك أيضًا وضع مسافة بادئة لمحتويات الإغلاق حتى إذا كانت محتويات الملف بالكامل موجودة في واحد. لست متأكدًا من السبب ولكن الإغلاق غير المقصود من المستوى الأعلى حذرني حتى قبل قراءة المعايير.
كسر الخطوط
عند كسر السلاسل الطويلة ، فقم دائمًا بقطع السطر عن المشغل, لا تترك متغير معلق. هذا يجعل من الواضح للوهلة الأولى أن الخط مكسور وأنك لم تنسَ فاصلة منقوطة.
أيضًا ، إذا كانت الحالة طويلة ، فقم بتقسيمها إلى عدة أسطر وإضافة علامة تبويب إضافية قبلها. يبدو هذا غريبًا للغاية بالنسبة لعيني ، لكن الفصل الذي يضيفه بين الحالة والجسم مرئي جدًا.
إذا كان (firstCondition () && secondCondition () && thirdCondition ()) var html = 'يتكون هذا السطر من كلمات' + n + '، لذلك يجب تقسيمه بعد' + 'عامل التشغيل' ؛
مسج التكرار
وفقا لمعايير jQuery التكرار (jQuery.each ())
يجب أن تستخدم فقط على كائنات jQuery. يجب عليك استخدام الأساسية إلى عن على, ل/ في, في حين حلقات في Javascript للتكرار على مجموعات أخرى.
استنتاج
هناك الكثير مما يجب ملاحظته وتتبعه ، ولا توجد طريقة يمكن لأي شخص تطبيق كل هذا دفعة واحدة. يجب أن تأخذ الرمز الخاص بك في أقرب وقت ممكن للمعايير وتعمل على اتباعها بالضبط.
في رأيي الاتساق هو القاعدة الأكثر أهمية. من الأفضل أن تفعل شيئًا ما بشكل غير صحيح من التبديل في منتصف الطريق. هذا صحيح بشكل خاص مع ممارسات التنسيق لأن هذه لا تؤثر على وظيفة التعليمات البرمجية الخاصة بك و- بالنسبة للجزء الأكبر - يمكن أن تتغير بسهولة دفعة في وقت لاحق.
هل تكره عنصرًا من معايير الترميز ، هل تعتقد أنه يجب إضافة شيء ما؟ اسمحوا لنا أن نعرف في التعليقات!