اكتب كودًا أسرع مع محلل Roslyn

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



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



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


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

لتثبيت محللات FxCop كحزمة NuGet:

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



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



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



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

  • تشير "أنا" في دائرة إلى شدة المعلومات
  • "!" في مثلث يشير إلى شدة التحذير
  • تشير علامة "x" في الدائرة إلى خطورة الخطأ
  • تشير كلمة "أنا" في دائرة على خلفية ذات ألوان فاتحة إلى شدة مخفي
  • تشير "↓" في الدائرة إلى تشخيص مكبوت



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



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



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

التعليمات:


س: يظهر هذا التحذير في Visual Studio: "لقد تم إهمال تشغيل تحليل الشفرة لصالح أجهزة تحليل FxCop ، والتي تعمل أثناء الإنشاء. راجع https://aka.ms/fxcopananyzers للانتقال إلى محللات FxCop. " ماذا يعني هذا؟

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

س: ما الفرق بين أجهزة تحليل FxCop و FxCop القديمة؟

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

س: هل يمكنني كتابة محللات مخصصة؟

a: بالتأكيد! تم العثور على وثائق حول كيفية كتابة محلل هنا.

س: هل يجب استخدام محلل Roslyn أو .editorconfig لنمط الكود؟

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

س: هل يعمل المحللون في بناء التكامل المستمر (CI)؟

ج: نعم ، يمكن فرض محللات مثبتة كحزم NuGet في تصميمات CI.

س: أين يمكنني طلب مزيد من المحللين أو الإبلاغ عن الأخطاء؟

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

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


All Articles