visual studio - ناطق - ما هو شعورك حول طي التعليمات البرمجية؟




قاموس عربي انجليزي ناطق مجاني (16)

بالنسبة لأولئك منكم في بيئة فيسوال ستوديو، كيف تشعر حول التفاف أي من التعليمات البرمجية الخاصة بك في #regions؟ (أو إذا كان أي إيد آخر لديه شيء مماثل ...)


أنا أفضل # حالات نفسي، ولكن زميل العمل القديم لا يمكن أن يقف على الأشياء مخبأة. لقد فهمت وجهة نظره بعد أن عملت على صفحة تحتوي على 7 أرقام، 3 منها على الأقل تم إنشاؤها تلقائيا ولها نفس الاسم، ولكن بشكل عام أعتقد أنها وسيلة مفيدة لتقسيم الأشياء والحفاظ على كل شيء أقل تشوش.


أنا أفضل الطبقات الجزئية بدلا من المناطق.

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


أنا شخصيا استخدام #Regions في كل وقت. أجد أنه يساعدني على الحفاظ على الأشياء مثل الخصائص، والإعلانات، الخ فصل بعضها عن بعض.

هذا هو على الارجح جوابا جيدا، أيضا!

ترميز الرعب

تحرير: دانغ، بات ضربتني إلى هذا!


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

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


يمكنني استخدام تكستمات (ماك فقط) التي لديها رمز للطي وأجد أنه من المفيد حقا لوظائف قابلة للطي، وأنا أعلم ما بلدي "جيتجيت" وظيفة لا، وأنا لا تحتاج إلى تناول 10 خطوط من أوه مساحة الشاشة قيمة جدا.

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


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

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

foreach (var item in Items)
{
    //.. 100 lines of validation and data logic..
}

ليست مقروءة كما

foreach (var item in Items)
{
    if (ValidatorClass.Validate(item))
        RepositoryClass.Update(item);
}



بلدي 0،02 $ على أي حال.


في بعض الأحيان قد تجد نفسك تعمل على فريق حيث يتم تشجيع #regions أو المطلوبة. إذا كنت مثلي وكنت لا يمكن أن يقف العبث مع رمز مطوية يمكنك إيقاف مخطط ل C #:

  1. خيارات -> محرر النص -> C # -> متقدمة التبويب
  2. قم بإلغاء تحديد "إدخال وضع الخطوط العريضة عند فتح الملفات"

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


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


حصلت المادة الرعب الترميز الفعلي لي التفكير في هذا أيضا.

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


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


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

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

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


أجد عموما أنه عند التعامل مع التعليمات البرمجية مثل الأحداث في C # حيث هناك حوالي 10 أسطر من التعليمات البرمجية التي هي في الواقع مجرد جزء من إعلان الحدث (فئة إيفنتارغس إعلان المفوض وإعلان الحدث) وضع منطقة من حولهم ومن ثم طيها من الطريق يجعلها أكثر قليلا للقراءة.


وقد تحدث هذا عن ترميز الرعب .

اعتقادي الشخصي هو أن تكون مفيدة، ولكن مثل أي شيء الزائد يمكن أن يكون أكثر من اللازم.

يمكنني استخدامه لترتيب كتل بلدي التعليمات البرمجية في:
التعدادات
الإعلانات
الصانعين
أساليب
معالجات الأحداث
الخصائص


التعدادات

الخصائص

.ctors

أساليب

معالجات الأحداث

هذا كل ما يمكنني استخدام المناطق ل. لم يكن لدي أي فكرة يمكنك استخدامها داخل الطرق.

يبدو وكأنه فكرة فظيعة :)


بينما أنا أفهم المشكلة أن جيف، وآخرون. الله. مع المناطق، ما لا أفهم لماذا ضرب كترل + M ، كترل + L لتوسيع جميع المناطق في ملف من الصعب جدا التعامل معها.







folding