محللين روزلين. كيف تكتب الكود بسرعة وبدقة

يساعد برنامج Roslyn ، برنامج التحويل البرمجي .NET ، في الكشف عن الأخطاء حتى قبل تشغيل التعليمات البرمجية. مثال على ذلك هو Roslyn Spell Checker ، والذي تم تضمينه في Visual Studio. دعنا نفترض أنك تقوم بإنشاء طريقة ثابتة وتكتب عن طريق الخطأ الكلمة الساكنة كـ statc. ستتمكن من رؤية هذا الخطأ الإملائي حتى قبل تشغيل التعليمات البرمجية الخاصة بك ، لأن Roslyn سيصدر تحذيرًا في التعليمات البرمجية الخاصة بك عند إدخال نص حتى قبل الانتهاء من الكتابة. بمعنى آخر ، لا تحتاج إلى إنشاء الكود لتكتشف أنك ارتكبت خطأً.

صورة

يمكن لمحللات Roslyn أيضًا عرض تصحيح الكود التلقائي باستخدام أيقونة المصباح البصري Visual Studio ، والتي تتيح لك تصحيح الكود على الفور.

صورة

ولكن ماذا لو كنت تستطيع التقاط المزيد من الأخطاء؟


اسمحوا لي أن أقدم لكم حزم محلل Roslyn. توفر مجموعات المحللات هذه تحليلًا أكثر تفصيلًا ، لكن لا تأتي مع أدوات Visual Studio الافتراضية. لمعرفة المزيد حول محللات Roslyn المفضلة لدينا ، تفضل بزيارة مستودع محلل Roslyn على GitHub . يتضمن هذا المستودع قواعد FxCop التي ما زالت تنطبق على تطوير البرامج الحديثة ولكن يتم استهدافها الآن لنظامنا الأساسي لتحليل الأكواد المستند إلى Roslyn. دعنا نواصل وتثبيت هذه الحزمة لزيادة الإنتاجية وسرعة كتابة رمز كبير!

تثبيت محللات FxCop:

  1. أفترض أنك تستخدم الإصدار 15.8 من Visual Studio أو إصدار أحدث. إذا كان الأمر كذلك ، فحدد أحدث إصدار من Microsoft.CodeAnalysis.FxCopAnalyzers .
  2. تثبيت الحزمة في Visual Studio باستخدام حزمة إدارة واجهة المستخدم .

صورة

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

صورة

يمكنك عرض الخصائص التشخيصية ، بما في ذلك العناصر مثل الوصف والشدة الافتراضية ، في نافذة الخصائص. لعرض الخصائص ، انقر بزر الماوس الأيمن فوق القاعدة وحدد خصائص ، أو حدد القاعدة ، ثم اضغط على Alt + Enter .

صورة

تتوافق الرموز الموجودة بجانب كل نوع من أنواع التشخيص في Solution Explorer مع الرموز التي تظهر في مجموعة القواعد عند فتحها في المحرر:

  • تشير "أنا" في دائرة إلى معلمة معلومات
  • "!" في مثلث يشير إلى المعلمة تحذير
  • تشير "X" في الدائرة إلى معلمة Error
  • تشير "أنا" في الدائرة إلى المعلمة المخفية
  • تشير كلمة "in" في دائرة إلى تشخيص مكبوت.

صورة

يمكنك بعد ذلك ضبط إعدادات الخطورة في Solution Explorer. بادئ ذي بدء ، لهذا تحتاج إلى توسيع التبعيات > محللات في Solution Explorer ، ثم نشر التجميع الذي يحتوي على القاعدة التي تريد تعيين معلمات الخطورة لها. بعد ذلك ، يجب أن تنقر بزر الماوس الأيمن على القاعدة ، وحدد Set Rule Set Severity وحدد أحد معلمات الخطورة في القائمة المنبثقة.

صورة

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

صورة

الآن بعد أن أدركت كيف يعمل المحللون ، يمكنك زيادة الإنتاجية وكتابة رمز رائع بشكل أسرع!

التعليمات:


س : صادفت التحذير التالي عند العمل في Visual Studio: "لقد تم إهمال تشغيل تحليل الشفرة لصالح مُحللات FxCop ، التي تعمل أثناء الإنشاء. الرجوع إلى aka.ms/fxcopanalyzers للانتقال إلى محللات FxCop ". ماذا يعني ذلك؟
ج : FxCop هي أداة تحليل الكود التي سبقت Roslyn لمدة عقد تقريبًا. تمامًا كما نقلنا المترجم الخاص بنا (على سبيل المثال ، تقديم Roslyn) ، نقلنا أيضًا تقنية تحليل الشفرة الخاصة بنا إلى منصة Roslyn. نظرًا لأنه يعمل على .NET Compiler Platform ، فإنه قد يولد تحذيرات في التعليمات البرمجية أثناء الكتابة. بمعنى آخر ، ليست هناك حاجة لإنشاء التعليمات البرمجية لمعرفة الخطأ.

س : ما هو الفرق بين محللي FxCop و FxCop القديمة؟
ج : يقوم محللو FxCop بتحليل الكود المصدري في الوقت الفعلي وفي وقت التحويل البرمجي ، في حين أن FxCop القديمة هي تحليل للكود الثابت ويحلل الملفات الثنائية بعد اكتمال البناء. انظر تحليلات Roslyn vs. لمزيد من المعلومات. تحليل الشفرة الثابتة والأسئلة المتكررة حول تحليل FxCop .

س : هل يمكنني كتابة محللاتي الخاصة؟
ج : بالطبع! الوثائق على كتابة المحللين هنا .

س : هل يجب استخدام Roslyn أو .editorconfig parsers لنمط الكود؟
ج : تعمل أدوات تحليل Roslyn وملفات .editorconfig جنبًا إلى جنب. عندما تقوم بتعريف أنماط التعليمات البرمجية في ملف .editorconfig أو في صفحة خيارات محرر النصوص ، فإنك تقوم بالفعل بتكوين محللات Roslyn المضمنة في Visual Studio.

س : هل يعمل المحللون في مجالس التكامل المستمر (CI)؟
ج : نعم ، يمكن استخدام أجهزة التحليل المثبتة في حزم NuGet في مجموعات CI.

س : أين يمكنني طلب مزيد من المحللين أو الإبلاغ عن الأخطاء؟
ج : يمكنك طلب المزيد من المحللين والإبلاغ عن الأخطاء في مستودع Roslyn على GitHub.

Source: https://habr.com/ru/post/ar459982/


All Articles