سؤال

على سبيل المثال, الرجوع شيء في النظام.البيانات.Datagrid بدلا من مجرد Datagrid.يرجى تقديم أمثلة التفسير.شكرا

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

المحلول

صالح هو أنك لا تحتاج إلى إضافة استيراد كل استخدام, لا سيما إذا كان الشيء الوحيد الذي استخدم من معين مساحة, كما يمنع التصادم.

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

أنا شخصيا أميل إلى استخدام واردات معظم الأشياء إلا أنا متأكد سوف يكون فقط باستخدام شيء من معين مساحة مرة أو مرتين ، لذلك لن تؤثر القراءة من قانون بلدي.

نصائح أخرى

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

using Datagrid = System.Data.Datagrid;

في الواقع المسار الكامل هو global::System.Data.DataGrid.وجهة استخدام أكثر تأهيلا المسار هو تجنب الحاجة إلى استخدام إضافية باستخدام البيانات ، خاصة إذا كانت مقدمة من آخر باستخدام يسبب مشاكل مع نوع القرار.أكثر تأهيلا كاملا معرفات موجودة حتى أنه يمكنك أن تكون صريحا عندما تحتاج إلى أن تكون واضحة ، ولكن إذا كانت الفئة مساحة واضحة ، ثم DataGrid نسخة أوضح للكثيرين.

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

كما تميل إلى استخدام مساحة الاسم علامة RCWs في interop COM طبقة لدعوة من تلك المتغيرات بشكل صريح في التعليمات البرمجية (قد تحتاج إلى عناية خاصة في حياة جمع), على سبيل المثال

using _Interop = Some.Interop.Namespace;

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

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

إذا كان لديك أداة مثل ReSharper ، وسوف اقول لك فعلا ما مؤهل بشكل كامل المراجع لديك غير ضرورية (على سبيل المثالقبل الشيب منهم) حتى تتمكن من لوب لهم قبالة.إذا كنت في كثير من الأحيان قص-لصق التعليمات البرمجية الخاصة بك عبر مختلف قواعد رمز ، سيكون من يجب أن تأهيل لهم.(ثم مرة أخرى, لماذا تريد أن تفعل قص ولصق في كل وقت ؛ إنه شكل سيء من إعادة استخدام التعليمات البرمجية!)

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

اعتمادا على الوضع الخاص بك, أسرة تصفيات سوف تولد تحذير (إذا كان هذا هو ما تعنيه زائدة).إذا كنت ثم علاج والتحذيرات أخطاء خطير جدا السلبي.

لقد واجهت هذا مع دول مجلس التعاون الخليجي على سبيل المثال.

struct A {
    int A::b; // warning!
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top