سؤال

لدي هذه الفئة:

class DoSomething
{
    private int timesDone;
    ...
}

ما هي الطريقة الصحيحة لمعرفة المتغير "TimesDone"؟

أحيانا أرى اسمه m_timesdone.. وبعد هل هذا صحيح؟ حيث يمكنني العثور على معلومات حول إرشادات التسمية؟

شكرا لك!

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

المحلول

وفقا لمعايير MS رمزك على ما يرام. وجود بادئات كما M_ ليس ضروريا حقا عندما يكون لديك IDE المتقدمة. لكن بادئة قصيرة مثل _ يمكن استخدامها للاستفادة من الميزة الكاملة التلقائية لفرز أعضاء الفصل بسرعة.

أود أن أوصي بك للحصول على نسخة من "إرشادات تصميم الإطار: الاتفاقيات والتعلمات والأنماط لمكتبات .NET قابلة لإعادة الاستخدام"كتاب لمعرفة المزيد حول معايير MS

نصائح أخرى

لا توجد طريقة صحيحة عالمية. اختار اتفاقية تسمية رغبتك والعصا بها.

بالتأكيد لا تستخدم m_timesdone.

ببساطة وضع "timddone intdone الخاص".

يمكنك معرفة كيفية تسمية المتغيرات من خلال قراءة بعض الكتب الجيدة مثل الكود الكامل.

كثير من الناس يفعلون كما لديك هناك. سوف تشير إليها بعد ذلك

this.timesDone = someInt

ومع ذلك، أنا لا أحب ذلك لأنني لست من محبي الكتابة "هذا" لتجنب اشتباكات أسماء المعلمات الأسلوب. طالما أنه قابل للقراءة ومتسقة ستكون على ما يرام.

تأتي اتفاقية الحقول الأعضاء المتراكمة مع M_ من الأيام الأولى من C ++، عندما التدوين الهنغارية كان شعبية. إنها ليست اتفاقية ج #، نظرا لأن معظم Code Code مكتوب باستخدام Visual Studio مؤخرا، يضيف الضوضاء البصرية دون أي ميزة مقابلة، لأنه يمكنك بسهولة رؤية نطاق متغير على أي حال. لا تستخدم M_.

المثال الوحيد للترميز الهنغاري الذي وجد طريقه إلى C # هو ممارسة أسماء فئة واجهة المستقيم مع I، مثل الخانق.

يمكنك العثور على بعض المعلومات مباشرة على موقع MSDN:http://msdn.microsoft.com/en-us/library/ms229002.aspx.

النقطة الوحيدة للاتفاقية التي ستجدها هي أنه ينبغي ليس كن مهلة، ولكن يجب أن تبدأ بحرف صغير.
في المنشورات الأكبر سنا (MS، MSDN)، فإن استخدام الشرطة السفلية الرائدة محبط. في وقت لاحق عاد، وخاصة بالنسبة إلى Backingfields للعقارات: _timesdown.

الاستراتيجية المعتمدة عادة هي:

بالنسبة فصل & طريقة: غلاف باسكال

على سبيل المثال

public class Program
 {
 }

على سبيل المثال

public void DoSomething() { } 

بالنسبة المتغيرات: غلاف الجمل مثل مرات الوقت

المتغيرات المحلية:

   aTimesDown

المتغير العالمي:

myTimesDown

آمل أن يكون هذا قد تساعدك :)

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