امنح قاعدة التعليمات البرمجية الخاصة بك تنظيفًا نابضًا باستخدام أداة سطر الأوامر سهلة الاستخدام هذه.
أداة الفحص هي مورد قيم يمكن أن يساعدك في اكتشاف الأخطاء والتناقضات في التعليمات البرمجية الخاصة بك.
Flake8 هي واحدة من أكثر أدوات الفحص شيوعًا في Python. فهو يحدد أخطاء في بناء الجملة والتنسيق في شفرتك ، إلى جانب مشكلات أخرى مثل عمليات الاستيراد غير المستخدمة. إنه مرن للغاية لأنه ، على الرغم من أنه يحتوي على قواعد افتراضية ، يمكنك تغييرها أو الإضافة إليها لتناسب متطلباتك.
يمكنك أيضًا تكوين Flake8 للتشغيل عند حفظ تحديثات التعليمات البرمجية الخاصة بك باستخدام VS Code. كل هذه الميزات تجعلها أداة قيمة عند كتابة برامج بايثون.
تركيب Flake8
اتبع الخطوات أدناه لتثبيت Flake8 على بيئة التطوير الخاصة بك. قد تحتاج إلى قم بتثبيت Pip على جهازك أولاً.
- قم بتشغيل الأمر أدناه في الجهاز الخاص بك لتثبيت Flake8:
نقطة تثبيت تقشر 8
- تحقق من تثبيت Flake8 عن طريق تشغيل الأمر التالي:
flake8 - الإصدار
- إذا تم تثبيت Flake8 بشكل صحيح ، يجب أن ترى إخراجًا مشابهًا لما يلي:
4.0.1 (مكابي: 0.6.1, pycodestyle: 2.8.0, البيرلاكس: 2.4.0) CPython 3.9.13على
لينكس
بمجرد تثبيت Flake8 بنجاح ، يمكنك البدء في استخدامه.
استخدام Flake8 لتحليل كود بايثون
لفهم كيفية استخدام Flake8 ، ابدأ بالكود التالي. لديها اثنين من الأخطاء المتعمدة. انسخه في ملف يسمى تحية.
defتحية(اسم):
مطبعة("مرحبًا، " + الاسم)
تحية("أليس")
تحية("بوب")
تشغيل Flake8 على ملف واحد
صيغة تشغيل Flake8 على ملف واحد كما يلي.
مسار flake8 / إلى / file.py
في هذا المثال ، انتقل إلى الدليل الذي يحتوي على ملف greting.py وقم بتشغيل الأمر التالي.
flake8 تحية
يجب أن يقوم Flake8 بإرجاع الرسالة التالية التي توضح وجود خطأ مسافة بادئة.
تحية.السنة التحضيرية:5:1: E999مسافة بادئة خطأ: غير متوقعمسافة بادئة
يشير هذا الإخراج إلى أن السطر 5 تم وضع مسافة بادئة له دون داع. ل إصلاح خطأ المسافة البادئة هذا، تحتاج إلى إزالة المسافة من بداية هذا السطر.
defتحية(اسم):
مطبعة("مرحبًا، " + الاسم)
تحية("أليس")
تحية("بوب")
الآن عند تشغيل Flake8 ، ستتلقى التحذيرات التالية.
تحية.السنة التحضيرية:4:1: E305مُتوقع 2 فارغخطوطبعدفصلأووظيفةتعريف, وجد 1
تحية.السنة التحضيرية:5:16: W292لاخط جديدفينهايةلملف
يشير هذا الإخراج إلى المشكلات التالية:
- في السطر 4 ، يجب أن يكون هناك سطرين فارغين بعد تعريف وظيفة الترحيب ، ولكن يوجد سطر واحد فقط.
- في السطر 5 ، يجب أن يكون هناك سطر جديد في نهاية الملف.
بمجرد إصلاح هذه المشكلات ، يجب ألا يعرض flake8 أية رسائل.
حتى الآن ، قمنا بتحليل ملف واحد فقط ولكن في معظم الحالات ، سترغب في تحليل ملفات متعددة.
تشغيل Flake8 على ملفات متعددة
لنفترض أن لديك اتصال آخر test_greeting.py الذي يحتوي على الكود التالي:
من تحية يستورد تحية
deftest_greet():
يجزم تحية("أليس") == "مرحبا أليس!"
لتحليل هذين الملفين ، قم بتشغيل الأمر التالي.
flake8reeting.py test_greeting.py
تعمل هذه الطريقة ولكن إذا كان لديك أكثر من ملفين ، فقد تكون كتابة أسماء الملفات متعبة وعرضة للخطأ.
من الأفضل استخدام الأمر التالي لتحليل جميع الملفات الموجودة في الدليل الحالي:
تقشر 8.
فهم أخطاء وتحذيرات Flake8
يُبلغ Flake8 عن نوعين من المشكلات:
- الأخطاء: يشير الخطأ إلى وجود مشكلة في بناء الجملة أو هيكلية تمنع تشغيل التعليمات البرمجية مثل خطأ المسافة البادئة من مثال تحية.
- تحذيرات: يشير التحذير إلى مشكلة محتملة أو انتهاك لإرشادات نمط PEP 8 مثل تحذير "لا يوجد سطر جديد في نهاية الملف" من مثال تحية.
بعض الأخطاء والتحذيرات الشائعة هي:
- E101: تحتوي المسافة البادئة على مسافات وعلامات جدولة مختلطة.
- E302: توقع سطرين فارغين ، تم العثور على 0.
- E999 IndentationError: مسافة بادئة غير متوقعة.
- W291: مسافة زائدة بيضاء.
- E501: سطر طويل جدًا (بحد أقصى 79 حرفًا).
- F401: تم استيراد الوحدة النمطية ولكنها غير مستخدمة.
عند تشغيل Flake8 ، ستخرج رسالة مثل الرسالة الموضحة أعلاه ورقم السطر وموقع الكود الذي تشير إليه الرسالة. يساعدك هذا في معرفة مكان وجود مشكلات في التعليمات البرمجية بالضبط مما يوفر لك وقت التصحيح.
تكوين Flake8
بالنسبة لبعض المشاريع ، قد تكون قواعد Flake8 صارمة للغاية. في هذه الحالات ، يسمح لك Flake8 بتكوينه وتكييف سلوكه ليلائم متطلباتك.
يمكنك توفير خيارات التكوين مثل:
- تجاهل أخطاء أو تحذيرات معينة.
- تحديد الحد الأقصى لطول الخط.
- تحديد قواعد إضافية.
للتوضيح ، قم بإنشاء ملف تكوين يسمى setup.cfg. يمكنك أيضًا إضافة خيارات التكوين إلى ملف يسمىox.ini أو .flake8.
في هذا الملف ، ابدأ بإنشاء قسم flake8 على النحو التالي:
[flake8]
ثم أضف الخيارات التي تريد تهيئتها:
[flake8]
الحد الأقصى لطول الخط = 100
تجاهل = F401
في هذا المثال ، يُخبر max-line-length = 100 Flake8 بإصدار تحذيرات لأي سطر في ملفات التعليمات البرمجية المصدر يتجاوز طوله 100 حرف. ignore = F401 يخبر Flake8 بتجاهل الأخطاء المتعلقة بالواردات غير المستخدمة.
لست بحاجة إلى إضافة هذه الخيارات إلى ملف التكوين حيث يمكنك استدعاء تحديدها في سطر الأوامر مثل هذا:
flake8 - إغينور E203 - أقصى طول خط 100
يعد استخدام ملف التكوين هو أفضل طريقة لأنك لست بحاجة إلى تحديد نفس الخيارات في كل مرة تستخدم فيها flake8.
باستخدام Flake8 في VS Code
إذا كنت تستخدم VS Code لكتابة تطبيق Python الخاص بك ، فيمكنك استخدام ملحق flake8 لفحص ملفات Python أثناء الكتابة.
أولاً ، تحتاج إلى تثبيت ملحق flake8 من سوق VS Code. بعد ذلك ، لتكوينه ، افتح إعدادات VS Code ، ثم ابحث عن "python.linting.flake8Enabled" وقم بتمكين الفحص باستخدام flake8.
يجب أن ترى الآن الأخطاء والتحذيرات مظللة في التعليمات البرمجية الخاصة بك بخط متعرج أثناء كتابتها. سيؤدي التمرير فوق النص المميز إلى عرض رسالة تشرح المشكلة وتقترح الحلول الممكنة.
آخر بيثون IDEs مثل Pycharm لديها أيضًا امتدادات Flake8 التي يمكنك تهيئتها لتبسيط عملية الفحص.
لماذا يجب عليك استخدام لينتر؟
أثناء كتابة التعليمات البرمجية ، قد تحدث أخطاء وتناقضات تؤدي إلى فشل تطبيقك أو حدوث مشكلات في الأداء. يسمح لك linter مثل Flake8 بالتعرف على بعض هذه المشكلات مقدمًا ، مما يساعدك في كتابة تعليمات برمجية أكثر وضوحًا. يعد دمجها في سير عمل التطوير الخاص بك أمرًا مهمًا للغاية.
يمكنك القيام بذلك عن طريق استخدامه في محرر النصوص أو IDE ودمجه في برنامجك المستمر خط أنابيب التكامل لفحص التعليمات البرمجية تلقائيًا بحثًا عن الأخطاء والتحذيرات قبل دمجها في ملف الفرع الرئيسي.