نصيحة تسمية لاستبدال / تجنب التدوين الهنغاري في واجهة المستخدم؟

StackOverflow https://stackoverflow.com/questions/918457

سؤال

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

الحالي: lluser، txtuser، rfvuser، _user، المستخدم، المستخدم

إذا قمت بوضوح، UserLabel، usertextbox، userrequiredfieldValidator، يبدو أنني مجرد استبدال لاحقات أطول لباديلات أقصر.

و _ للإشارة إلى الحقل، يتم وضع علامة عليه بواسطة FXCOP، ولكن بدون بادئة، فستشتبش مع اتفاقية المستخدم / المستخدم المعتمدة.

أي اقتراحات؟

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

المحلول

ما زلت بشكل عام استخدام الترميز الهنغاري لأكائنات UI أثناء العثور عليه يجعل الرمز الخاص بي أكثر قابلية للقراءة.

أود استخدام أشياء مثل m_firstnametextbox أو m_countrycorbobox لعناصر تحكم UI ثم m_firstname و m_country لقيم السلسلة من عناصر التحكم هذه.

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

نصائح أخرى

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

آه، ويرجى عدم استخدام كلاالمستعمل' و 'المستعمل". من الصعب قراءتها واستخدامها وصيانتها والمنفذ. إذا كان لديك نوعان مختلفان معانيان مختلفة، فإن الترميز الهنغاري هو خيار أفضل من ترميز تلك القطعة من المعلومات عن طريق التقليب الأحرف بين الأحرف الكبيرة / الصغيرة.

لا أعرف من الذي اخترع حساسية القضية بلغات البرنامج، لكنه قام بضرر أكبر من أي شخص يمكن أن يتصور في ذلك الوقت. أنا أكره الحصول على أخطاء المحول البرمجي لأنني كتبت "هوية شخصية' بدلا من 'هوية شخصية' أو 'محرك أقراص USB"عندما يجب أن"محرك أقراص USB'.

أفضل الهنغارية على الرغم من أنها تؤدي إلى أسماء طويلة حقا في واجهة المستخدم (بسبب المشكلة التي ذكرتها في السؤال). اقتراحي الوحيد هو أن أكون متسقا عبر الفريق بأكمله.

استخدم جميع الأحرف الصغيرة والشرطات السفلية، وتختفي قضية الحالة. SomeidiotiotsomewheredectedhiswasagoodwoodoToThingsandififififehimiwillkillhim.

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