--- 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 ` يمكنني تحرير التغييرات المقترحة يدويًا ، أو يمكنني أن أطلب من 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/) .