هل يستخدم الناس المبادئ الهنغارية في العالم الحقيقي؟

لقد كانت مبادئ التسمية الهنغارية، أو التسمية الهنغارية، موضوع نقاش بين المبرمجين لسنوات. على الرغم من أنها وضعت بنوايا حسنة، يتساءل الكثيرون عما إذا كانت ما زالت قابلة للتطبيق اليوم. هل تستحق الوقت لتعلم هذه المبادئ، أم أنها تضر بقابلية القراءة والصيانة في لغات البرمجة؟

في هذه المدونة، سنستكشف فعالية التسمية الهنغارية، وتنوعيها الرئيسيين، وما إذا كانت مفيدة في بيئات البرمجة المعاصرة.

ما هي التسمية الهنغارية؟

التسمية الهنغارية هي نظام لتسمية المتغيرات في البرمجة حيث يتم بادئة أسماء المتغيرات بمعلومات حول نوع المتغير أو الاستخدام المقصود. هناك فئتان رئيسيتان من التسمية الهنغارية:

  1. التسمية الهنغارية النمطية: بادئات المتغيرات بناءً على نوع بياناتها (مثلًا، int للأعداد الصحيحة، str للسلاسل النصية).
  2. التسمية الهنغارية التطبيقية: بادئات المتغيرات بناءً على استخدامها في التطبيق، مما يهدف إلى تعزيز فهم سياق المتغيرات.

نظرة أقرب على النوعين

التسمية الهنغارية النمطية

  • مثال: int iLength;

في التسمية الهنغارية النمطية، يتم التركيز على نوع البيانات، مما يسهل قراءتها سريعًا. ومع ذلك، فإن هذه الطريقة في استخدام البادئات لها عيوب. مع وجود بيئات تطوير متكاملة حديثة ومحررات ذكية، غالبًا ما تصبح هذه البادئات غير ضرورية لأن هذه الأدوات يمكن أن تُظهر أنواع المتغيرات بسرعة.

التسمية الهنغارية التطبيقية

  • مثال: بادئة متغير المقصود منه الطول بـ l، مثل int lLength;

تركز التسمية الهنغارية التطبيقية على الغرض من المتغير بدلاً من نوع بياناته فقط. يمكن أن يساعد ذلك في فهم الشيفرة بشكل أفضل، خاصة عند تشكيل المعادلات أو العمليات، كما يظهر في هذه الأمثلة:

  • استخدام جيد:

    int vBox = aBottom * lVerticalSide; // هذا منطقي
    
  • استخدام محير:

    int aBottom = lSide1; // يثير هذا تساؤلات حول النية
    

لماذا قد يُعتبر التسمية الهنغارية زائدة عن الحاجة

على الرغم من غرضها الأصلي، يعتقد العديد من المطورين أن التسمية الهنغارية، خاصة النمطية منها، قد فقدت أهميتها. فيما يلي بعض النقاط التي يجب مراعاتها:

  • المحررات الذكية: توفر بيئات التطوير الحديثة والمحررات إعلانات المتغيرات في لمحة، مما يقلل الحاجة إلى مؤشرات الأنواع المعتمدة على البادئات.
  • مشاكل القراءة: يمكن أن تزدحم البادئات أسماء المتغيرات، مما يجعل الشيفرة أقل قراءة بدلاً من أن تكون أكثر.

نتيجة لذلك، يفضل العديد من المبرمجين استراتيجية تسمية متغيرة واضحة وموصوفة تعزز توثيق الشيفرة الذاتية دون الاعتماد على اختصارات التسمية.

التجارب الشخصية مع مبادئ التسمية

بينما أنا عادةً لا أستخدم أي من أشكال التسمية الهنغارية، فإنني أتبع أسلوب بادئة شخصية باستخدام شرطة سفلية (_) للحقول الخاصة في الفصول. تساعد هذه التسمية المميزة في فصل أنواع المتغيرات دون الارتباك أو الفوضى المحتملة الناتجة عن بادئات التسمية الهنغارية. ألتزم بنمط ثابت للتسمية يتضمن النمط الجملّي للخصائص العامة، مما يجعل الشيفرة أنظف وأكثر قابلية للقراءة.

الاستنتاج: هل تستحق التسمية الهنغارية الجهد؟

غالبًا ما ينتهي النقاش حول التسمية الهنغارية بمشاعر تفيد أنه بينما كان لها مزايا في الماضي، فإن تطبيقها العملي في البرمجة الحديثة محدود.

في النهاية، ما إذا كان يجب استخدام التسمية الهنغارية أم لا يعود إلى التفضيل الشخصي. ينبغي على المطورين أن يزنوا الفوائد مقابل تفاصيل ممارسات البرمجة المعاصرة. يُركز على الشيفرة ذات التوثيق الذاتي وأسماء المتغيرات الوصفية التي تميل إلى توفير شيفرة أكثر وضوحًا ونظافة وقابلية للصيانة على المدى الطويل.

ماذا تعتقد؟

هل استخدمت التسمية الهنغارية، أم تفضل مبادئ تسمية أخرى؟ شارك أفكارك وتجاربك في التعليقات أدناه!