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

63 lines
4.3 KiB
Markdown
Raw Normal View History

---
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/) .