هل يمكنني منع انتهاكات تحليل كود FX Cop على مستوى العالم؟

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

سؤال

عند استخدام تحليل التعليمات البرمجية لبرنامج Visual Studio (FxCop)، وترغب في منع رسالة، فهناك 3 خيارات.

  1. قمع انتهاك في التعليمات البرمجية.
  2. منع حدوث انتهاك في ملف GlobalSupression.cs.
  3. قم بتعطيل فحص المخالفات في ملف المشروع (عبر Project -> Properties -> Code Analysic).

من الصعب جدًا مراجعة هذا الأخير عند الدخول إلى التحكم بالمصادر، ومن الصعب الحصول على نظرة عامة على جميع الانتهاكات المعطلة.لذلك نود استخدام الخيار 2.

المشكلة في الخيارين 1 و2 هي أنك تحصل على سطر إلغاء واحد لكل انتهاك.على سبيل المثال مثل:

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace2")]
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace1")]

نود أن نفعل شيئًا مثل هذا على GlobalSuppressions.cs:

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes")]

ولكن هل هذا ممكن؟

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

المحلول

قمع الانتهاكات المتعددة بواحدة قمع الرسالة السمة غير مدعومة رسميًا.على ما يبدو، هذا حسب التصميم.

أوافق، قد يكون الأمر مزعجًا في بعض الأحيان، لكن لا أستطيع أن أقول إنني لا أوافق على القرار، حيث أن السمة هي طريقتهم لإجبارك على القول: "نعم، أعرف ما أفعله"، وهو ما يجب تقييمه في على أساس كل حالة على حدة.

نصائح أخرى

أعتقد أن الأمور تغيرت منذ نشر هذا السؤال والإجابة عليه.بالنسبة إلى Visual Studio 2010 و2012، يمكنك إنشاء ملف "مجموعة قواعد" مخصص حيث يمكنك تحديد قواعد تحليل التعليمات البرمجية التي تريد منعها.

http://msdn.microsoft.com/en-us/library/dd380660.aspx

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

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