freeCodeCamp/guide/arabic/ruby/rubocop/index.md

63 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Rubocop
localeTitle: Rubocop
---
[Rubocop](https://github.com/bbatsov/rubocop) هو أداة analyis ثابتة ل [روبي](https://www.ruby-lang.org/en/) . ماذا يعني هذا؟ وهذا يعني Rubocop سوف "قراءة" التعليمات البرمجية الخاصة بك (على عكس تشغيله ، وبالتالي الجزء "ثابت" من الاسم) ، وتحليلها. قواعد التحليل يستخدم Rubocop من [دليل نمط المجتمع روبي](https://github.com/bbatsov/ruby-style-guide) .
دليل الأسلوب هو مجموعة من الاقتراحات المحددة حول كيفية كتابة الكود أكثر قابلية للقراءة وأكثر تعبيرًا وأكثر تقليدية. كمجتمع ، ذلك سيكون رائعا لو استطعنا قراءة رمز أي شخص آخر بسهولة ، ويمكنهم ذلك قراءة لنا بسهولة. هذا ما يساعدنا روبوكوب على القيام به. هذا النوع من الادوات هو دائما قيمة ، لكنها مفيدة بشكل خاص عندما تتعلم روبي ، و قد تكون رمزًا _صحيحًا_ ولكنه لا يلتزم باتفاقيات روبي ، أو لا تستفيد من بعض ميزات روبي الأكثر قوة.
والأكثر فائدة ، يمكن لـ Rubocop إصلاح العديد من التحذيرات الطفيفة تلقائيًا تباعد غير صحيح. هذا مفيد جدا قبل مراجعة الكود لأنه يعني الخاص بك يمكن للمطورين الزملاء التركيز على مخاوف مستوى أعلى ، وليس من الضروري أن تضيع الوقت على قضايا النحو.
## باستخدام Rubocop
### التركيب
يتم تسليم Rubocop كما جوهرة ، لذلك في مشروع نموذجي يستخدم Bundler لك `Gemfile` إلى قسم التطوير في `Gemfile` الخاص بك:
`group :development do
gem rubocop
end
`
وهذا يعني أن أي شخص يستخدم مشروعك سيكون له نفس الإصدار من Rubocop ، و سيتفق الجميع على أفضل الممارسات الحالية.
### استعمال
قبل كل التزام ، أرغب في التحقق من أن الشفرة المعدلة حديثًا تتوافق معها معيار commmunity ، ببساطة عن طريق تشغيل:
`rubocop
`
سيؤدي ذلك إلى إخراج قائمة بالتحذيرات حول شفرتك.
يمكن أن يكون من المفيد طلب Rubocop للحصول على مزيد من المساعدة:
`rubocop --extra-details --display-cop-names
`
(يمكنك إضافة هذه الملفات إلى ملف `.rubocop` لجعلها افتراضية.)
سيسمح لك العديد من المحررين بدمج Rubocop ، والتي يمكن أن تعطي فورية ردود الفعل عند كتابة التعليمات البرمجية.
### إصلاح المشكلات
لنفترض أنني كتبت رمزًا جديدًا ؛ قبل أن ألتزم بها ، قد أقرر ذلك تأكد من أنها تلتزم بالمبادئ التوجيهية:
`rubocop <my new file>
`
يمكنني تحرير التغييرات المقترحة يدويًا ، أو يمكنني أن أطلب من Rubocop إصلاحها مشاكل طفيفة تلقائيا:
`rubocop --auto-correct
`
### تشغيل بعض رجال الشرطة فقط
يتم تنفيذ كل المبادئ التوجيهية للمجتمع في "شرطي" Rubocop. عند العمل على قاعدة البيانات القديمة قد تغرق مع التحذيرات عند تقديم Rubocop. في هذه الحالة ، يمكن أن يكون من المفيد تشغيل شرطي واحد فقط عبر مصدر البرنامج ، وتحقق من هذه التغييرات قبل الانتقال إلى المبدأ التوجيهي التالي ، من أجل مثال:
`rubocop --auto-correct --only 'Layout/EmptyLineAfterMagicComment'
`
### تكامل محرر النصوص
يمكن دمج Rubocop مع Vim و Visual Studio Code و Atom وغيرها من برامج تحرير النصوص. يمكن العثور على قائمة كاملة [هنا](https://rubocop.readthedocs.io/en/latest/integration_with_other_tools/) .