أداة CLI لإضافة التعليقات التوضيحية Type Type تلقائيًا إلى رمز Python.
السيناريو الرئيسي لاستخدام الأداة هو مساعدتك في التعليق على قاعدة كود كبيرة وقديمة. لن يحل هذا المهمة بالنسبة لك بنسبة 100 ٪ ولكنه سيساعدك بالتأكيد بشكل كبير ، لأن العديد من الوظائف في العالم الحقيقي لديها أنواع عائدات بسيطة للغاية يسهل استنتاجه تلقائيًا.
سمات:
دعنا نقول ، لديك الطريقة التالية:
class Database :
def users_count ( self ):
return len ( self . users ) نظرًا لأن len يعيد دائمًا int ، infer-types قادرة على استنتاج نوع الإرجاع للطريقة. لذلك ، بعد تشغيل الأداة ، سيبدو الرمز هكذا:
class Database :
def users_count ( self ) -> int :
return len ( self . users )python3 -m pip install infer-typespython3 -m infer_types ./example/ستضيف الأداة بيانات استيراد جديدة يمكن تكرارها ولا توجد في أعلى الملف. لإصلاحه ، قم بتشغيل isort:
python3 -m isort ./example/ تستخدم أداة الأنواع الاستنتاجية بناء جملة فاخرة جديدة لنوع التعليقات التوضيحية المقدمة في Python 3.10. لذلك ، بدلاً من Optional[str] سوف ينبعث str | None . إذا كان من المفترض أن يتم تشغيل الكود الخاص بك على إصدار أقدم من Python ، فأضف from __future__ import annotations في بداية كل ملف. سوف يحل المشكلة ويجعل أيضًا بدء تشغيل تطبيقك بشكل أسرع. يمكنك أيضًا القيام بذلك مع ISORT:
python3 -m isort --add-import ' from __future__ import annotations ' ./example/شاهد رهيبة من طراز Python للحصول على مزيد من الأدوات لمساعدتك في شرح الكود الخاص بك.
None .yield ، فإن نوع الإرجاع هو typing.Iterator .is_open لإرجاع bool لأنها تبدأ بـ is_ . يمكنك تشغيل مجريات الأمور فقط باستخدام العلم --only .