منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : معلومة: Microsoft FxCop Analysis Tool
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
تقوم أداة FxCop بتحليل عناصر الكود في التجميعات المدارة Managed Assemblies, والتي تسمى الأهداف Targets, وتقوم بتقديم تقرير المعلومات الذي يحتوي على رسائل حول تلك الأهداف, هذه الرسائل تتضمن مقترحات حول كيفية تحسين الكود المصدري. التحاليل التي تقوم بها هذه الأداة عبارة عن مجموعة من القواعد Rules, هذه Rules عبارة عن كود مصدري يمكن بواسطته تحليل التجميعات ويرجع التقارير حول النتائج. قواعد الرسائل Rule Messages تحدد الأخطاء الشائعة التي تكتشفها في برنامجك, وتحاول تقديم الإرشادات اللازمة لمحاولة حل تلك الأخطاء.

باستخدام FxCop يمكنك القيام بما يلي:
  • تحديد القواعد التي ينبغي تطبيقها على المجمعات عند تحليلها.
  • استثناء القواعد التي لانرغب في ظهور الرسائل الخاصة بها مستقبلاً
  • تطبيق نمط معين على تقارير FxCop
  • تصفية وحفظ الرسائل.
  • حفظ واستخدام إعدادات التطبيق في مشاريع FxCop

العمل على FxCop

يمكن باستخدام FxCop إنشاء مشروع لتسهيل العمل عليه, تحتوي المشاريع التي يتم إنشاؤها عادة على التجميعات (الأهداف) والقواعد. وكذلك الرسائل التي يتم توليدها عند القيام بالفحص. نافذة التطبيق مقسمة إلى 3 أجزاء رئيسية: جزء ,الإعدادات Configuration Pane, جزء الرسائل, وجزء الخصائص, كما عو مبيّن في التوضيح:



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

افتح FxCop وأنشئ مشروعاً جديداً

في القائمة Project حدد الخيار Add Targets
حدد التجميع (Exe أو Dll) الذي ستقوم بإجراء الفحص عليه
في شريط الأدوات toolbar انقر فوق الزر Analyze. او اضغط F5 مباشرة
بعد إنتهاء عملية التحليل, سيظهر التقرير

أخطاء القواعد Rules Errors:
لعرض أخطاء القواعد, Double Click على الرسالة التي ترغب في عرض تفاصيلها

على سبيل المثال: سيظهر الخطأ التالي إذا كان الكود بالشكل التالي:

كود :
Dim Str As String = "SomeCaracters"
Str = ""

بينما سيقوم FxCop باقتراح التالي:
كود :
Str = String.Empty
[/SIZE][/FONT][/COLOR][/b][/SIZE]