سؤال

لا أستخدم البادئات الهنغارية (STR ، INT) في .NET ، لكنني ما زلت أجدها مفيدة في VBA ، حيث يصعب رؤية الأنواع.

هل هذا سيء؟ غير ضروري؟ ربما أفتقد شيئًا.

سأقدر حقًا أي ردود فعل. لقد كنت أتساءل لفترة من الوقت.

شكرا لكم جميعا.

هل كانت مفيدة؟

المحلول

أستخدم دائمًا بادئة أحرف واحدة أو اثنين في VBA. أنا متأكد من أنني الشخص الوحيد الذي سيعترف بذلك ، لكنني اعتقدت أن شخصًا ما يحتاج إلى أن يكون متناقضًا.

من بين 18 مليون سطر من رمز VBA الذي كتبته ، تعاونت على حوالي 1000. إذا لم ير أي شخص آخر الكود الخاص بي ، فأنا حر في استخدام اتفاقية أحبها. إذا كان شخص آخر سيعمل على الكود الخاص بك ، فيجب عليك الاتفاق على اتفاقية.

يعجبني ذلك يتيح لي الحفاظ على أسمائي المتغير أقصر. يمكنني استخدام عدد الملفات واسم الملف أو يمكنني استخدام lfile و sfile. لا أجد واحدة أو أقل قابلية للقراءة من الآخر. كما أنه يساعدني على استخدام الكلمات المحجوزة كمتغيرات. إذا كنت أرغب في استخدام الاستبدال كاسم متغير ، فلا يمكنني ذلك. لكن يمكنني استخدام Sreplace أو Lreplace.

نصائح أخرى

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

يرى لماذا لا يجب أن أستخدم التدوين المجري؟

أنصح بالذهاب إلى شيء أعلى قليلاً من الأنواع فقط حتى تتمكن من رؤية الغرض من الأشياء. وبالتالي ، بدلاً من تسمية شيء ما strجي ، نسميها أ name أو addrESS ، وبدلاً من int, ، نسميها أ count أو أ coordinate أو ...

(أفضل استخدام اللواحق للبادئ ، لكن هذه مسألة أسلوب وذوق.)

إذا تم تعيين النمط في شركتك لاستخدام الترميز المجري ، فلا توجد مشكلة في استخدامه - السياسة هي سياسة. هناك الكثير من الأدوات التي تساعد في تطبيق اتفاقيات التسمية الترميز (مثل Stylecop لـ C#) حتى تتمكن من المضي قدمًا إذا سمح لك.

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

أود أن أوصي بالابتعاد عن التدوين المجري للمشاريع الجديدة (ربما عن طريق استخدام أداة تحليل التعليمات البرمجية) ولكن كن عمليًا حول التعليمات البرمجية القديمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top