
Pylint هو محلل رمز ثابت لـ Python 2 أو 3. يدعم أحدث إصدار Python 3.9.0 وما فوق.
يحلل Pylint الكود الخاص بك دون تشغيله بالفعل. إنه يتحقق من الأخطاء ، ويفرض معيارًا للترميز ، ويبحث عن رائحة التعليمات البرمجية ، ويمكنه تقديم اقتراحات حول كيفية إعادة بناء الكود.
لاستخدام سطر الأوامر ، يتم تثبيت Pylint مع:
PIP تثبيت Pylint
أو إذا كنت ترغب أيضًا في التحقق من الإملاء باستخدام enchant (قد تحتاج إلى تثبيت مكتبة Enchant C):
pip install pylint[spelling]يمكن أيضًا دمجها في معظم المحررين أو IDEs. يمكن العثور على مزيد من المعلومات في الوثائق.
لا تثق Pylint بكتابةك وتستنتج القيم الفعلية للعقد (لبدء ما لأنه لم يكن هناك كتابة عند بدء تشغيل Pylint) باستخدام تمثيل الكود الداخلي الخاص به (Astroid). إذا كان الكود الخاص بك هو import logging as argparse ، فيمكن أن تحقق Pylint ومعرفة أن argparse.error(...) هي في الواقع مكالمة تسجيل وليس مكالمة Argparse. هذا يجعل Pylint أبطأ ، ولكنه يتيح أيضًا لـ Pylint العثور على المزيد من المشكلات إذا لم يتم كتابة الكود الخاص بك بالكامل.
[الاستدلال] هي ميزة القاتل التي تبقينا باستخدام [Pylint] في مشروعنا على الرغم من بطيئها المؤلم. - مستخدم Pylint الواقعية ، 2022
Pylint ، التي لا تخشى أن تكون أبطأ قليلاً مما هي عليه بالفعل ، هي أيضًا أكثر شمولية من المبيدات الأخرى. هناك المزيد من الشيكات ، بما في ذلك بعض الرسوم التي يتم إلغاء تنشيطها افتراضيًا ولكن يمكن تمكينها باستخدام التكوين.
Pylint ليس أكثر ذكاءً منك: قد يحذرك من الأشياء التي قمت بها بضمير أو تحقق من بعض الأشياء التي لا تهتم بها. أثناء التبني ، وخاصة في مشروع قديم حيث لم يتم تطبيق Pylint أبدًا ، من الأفضل أن نبدأ بعلم --errors-only ، ثم تعطيل رسائل المؤتمرات والتشكيل مع-- --disable=C,R وإعادة تقييم الرسائل التدريجية وإعادة تمكينها بشكل تدريجي مع تطور أولوياتك.
Pylint قابلة للتكوين بدرجة كبيرة ويسمح لكتابة المكونات الإضافية من أجل إضافة الشيكات الخاصة بك (على سبيل المثال ، للمكتبات الداخلية أو القاعدة الداخلية). يحتوي Pylint أيضًا على نظام بيئي من الإضافات الحالية للأطر الشهيرة ومكتبات الطرف الثالث.
ملحوظة
Pylint يدعم مكتبة Python القياسية خارج المربع. لا يتم دعم مكتبات الطرف الثالث دائمًا ، لذلك قد تكون هناك حاجة إلى مكون إضافي. مكان جيد للبدء هو PyPI الذي يرجع في كثير من الأحيان مكون إضافي عن طريق البحث عن pylint <library> . Pylint-Pydantic و Pylint-Django و Pylint-Sonarjson هي أمثلة على هذه الإضافات. يمكن العثور على مزيد من المعلومات حول الإضافات وكيفية تحميلها في المكونات الإضافية.
تشمل المشاريع التي قد ترغب في استخدامها جنبًا إلى جنب مع Pylint Ruff (سريعًا حقًا ، مع الإصلاح التلقائي المبني وعدد كبير من الشيكات المأخوذة من المبيدات الشهيرة ، ولكن تم تنفيذها في rust ) أو Flake8 (إطار عمل لتنفيذ الشيكات الخاصة بك في Python باستخدام ast مباشرة) ، و Mypy ، و Pyright / Pymance أو Pyre (تحطيم الاختبارات) ، والتحديد الأمان). AutofLake (الإزالة الآلية للواردات أو المتغيرات غير المستخدمة) ، Pyupgrade (الترقية الآلية إلى بناء جملة Python الأحدث) و PydocStringFormatter (PEP257 الآلي).
سفن Pylint مع أداتين إضافيتين:
نرحب بجميع أشكال المساهمات مثل تحديثات الوثائق والرمز الجديد أو التحقق من المشكلات للتكرارات أو إخبارنا بأننا نستطيع إغلاقها ، مع التأكيد على أن المشكلات لا تزال موجودة ، إنشاء مشكلات لأنك وجدت خطأ أو تريد ميزة ، إلخ. كل شيء موضع تقدير كبير!
يرجى اتباع مدونة السلوك والتحقق من أدلة المساهم إذا كنت ترغب في تقديم مساهمة رمز.
يمكنك وضع هذه الشارة في ReadMe لإعلام الآخرين بمعرفة مشروعك يستخدم Pylint.
تعلم كيفية إضافة شارة إلى وثائقك في وثائق الشارة.
Pylint ، مع استثناءات قليلة مدرجة أدناه ، GPLV2.
يتم ترخيص ملفات الأيقونة بموجب ترخيص CC BY-SA 4.0:
يرجى التحقق من معلومات الاتصال.
| يتوفر الدعم المهني لـ Pylint كجزء من اشتراك Tidelift. يمنح TideLift فرق تطوير البرمجيات مصدرًا واحدًا لشراء وصيانة برامجها ، مع تأكيدات احترافية من الخبراء الذين يعرفون ذلك بشكل أفضل ، مع الاندماج بسلاسة مع الأدوات الحالية. |