أفضل ممارسات PHP: معلمات النوع
هناك الممارسات التي نتعلمها في المدرسة ، تلك التي نتخذها من خلال الكسل ، تلك التي نتبناها عن العادة ، سواء عن طريق رؤيتها أو عن طريق النسخ واللصق بشكل منهجي. مع الوقت والخبرة ، من الواضح أننا نبحث عن منهجيات وتركيبات أكثر وضوحًا. Malgré les tendances qui se distingues autour de chaque langage, on est souvent capable de déterminer en lisant du code, qui de notre équipe possède une telle syntaxe En C#, les puristes prendront l'habitude de faire commencer toutes leurs interfaces par un « I » مثلا.
ملخص
PHP ، بناء جملة مجاني ... مجاني جدًا؟
أنا نفسي لدي العديد من العادات التي تسمح لي ببناء الكود الخاص بي بطريقة منتظمة. هذا من أجل العثور بسهولة على طريقي ، للعمل بسرعة ، ولكن أيضًا لتسهيل تصحيح الأخطاء وقراءة الكود الخاص بي لزملائي.
اكتب معالمها ، من أجل ماذا؟ ولماذا تعتبر هذه ممارسة جيدة؟
في PHP ، تكون البنية مجانية جدًا. أعني حرًا جدًا من حقيقة أن اللغة ليست مطولة جدًا. بدون أن أكون مؤيدًا للغات مثل Java على سبيل المثال ، أعتقد أن كتابة معلماتها يمكن أن تساعدنا فقط في عملنا.
لماذا نضيع الوقت في كتابة نوع البيانات؟
في الواقع ، لكن دعنا نقارن على الفور الإيجابيات والسلبيات.
في السلبيات ، دون أن تكون أوقاتًا سيئة ، سأجد صعوبة في الاستشهاد بحجة أخرى غير تلك التي كتبتها أعلاه.
في المحترفين ، يمكنني ذكر قائمة صغيرة:
- يساعدني في بناء الكود الخاص بي. في النموذج الأولي الخاص بي (إعلان وظيفتي) ، أعلم أن مثل هذه الحجة يجب أن تكون array ou مادبا.
- هذا يسمح لي بالتصحيح بشكل أسرع. إذا أعلنت أنك تريد حجة من النوع مستخدم في طريقتك ، ستتوقع PHP نسخة User. أو حاول إعطاء ملفrray أو أي نوع آخر غير المحدد ، سيتسبب في توقف PHP على الفور. من المسلم به أن الخطأ قد يكون "صعبًا" تمامًا ، ولكن من غير المحتمل أن يكون هناك فشل في بقية التطوير.
- يحب زملائي قراءة الكود الخاص بي مثل الكتاب. في الواقع ، عندما نعلم أن طريقة setItem (...) تأخذ وسيطة من النوع فو، هذا يساعد. لا ؟
12وظيفة مجموعة(عنصر $);وظيفة مجموعة(Foo $ item);
من المسلم به أن هذه القائمة تحتوي على 3 نقاط فقط ، لكن عملنا يلزمنا أن نكون دائمًا في طريق الحرب وأن نستكشف دائمًا طرقًا جديدة ، أنصحك بمحاولة البحث بنفسك.
مشكلة معلقة من النوع مختلط
في الواقع ، لا بد لي من الاعتراف بنوع الضعف ، النوع مختلط. رجل فظيع ويتم حظره. بالنسبة لأولئك الذين قاموا بالتشفير في C / C ++ ، فإن الأمر يشبه إعلان مؤشر مثيل بـ (void *).
أنصحك قدر الإمكان بعدم استخدام هذا النوع والحد من استخدامه. مثال ؟
طريقة setPoireau (مختلطة $ poireau) تأخذ الكراث كمعلمات ولكن نظرًا لعدم كتابتها ، يمكنك أيضًا إعطائها ختم طفل ... مشكلة.
إذا كنت ترغب في إجبار وجود الكراث ، فأنت تعرف ما عليك القيام به ، ودعنا نعترف بأن لديك عقلًا ملتويًا ، وأنك ترغب في أن تكون قادرًا على تقديم الخضار ، فأنا أدعوك إلى استخدام واجهة (أو ملخص الفصل) ) وحدد طريقتك مثل هذا.
|
|
سوف أوافق على أن هذا المثال قد لا يكون الأفضل ، لكن له ميزة الوضوح.
في الختام
الكتابة ليست إلزامية ، ولكنها تظل متاحة لأي شخص يريد العمل بشكل واضح ونظيف. أنا أوصي به بشدة لك.
ربما سيكون لدينا الحق ، يومًا ما ، في كتابة عودة طريقة ما لمساعدتنا في سعينا للحصول على دلالات أفضل من أي وقت مضى.