ماژول مرتبط با وارنینگ های پایتون بسیار کار کشته طراحی اپلیکیشن میباشد، به طور پیشفرض این ماژول هشدارها را در هر آدرسی از کد فقط یک توشه در stderr چاپ می نماید، البته شما میتوانید هشدارها را بی صدا کرده و آنها را فقط در بعضی از مفاد استثنا بی سروصدا نمایید. به محض این که شما این هشدارها را به api خویش اضافه نمایید pycharm و دیگر ide ها سیاق متداول را از منزلت بیرون می نمایند و یوزرها آگاه میشوند کهاین اسلوب برای مدام از دربین رفته میباشد.
Reptile().walk()
چه اتفاقی می افتد در صورتی آن ها کد خویش را با api به روزرسانی گردیده جاری ساختن نمایند؟
$ python3 script.py
DeprecationWarning: walk is deprecated, use slither
script.py:14: Reptile().walk()
step step step
به طور پیشفرض آن ها هشداری را در stderr مشاهده می نمایند البته اسکریپت با توفیق انجام و چاپ میگردد: “ step step step”. درین مرحله هشدار نماد میدهد که کدام خط از کدهای استفاده کننده می بایست اصلاح گردد. دقت داشته باشید کهاین ارور قادر است برای مخاطب api بسیار آموزنده باشد چراکه به طور ظریف تعریف می نماید که مخاطب api برای رفع این نقص بایستی چه کاری را اجرا دهد.
آزمایش کدهای تازه
یوزرها شما میخواهند که کدهای خویش را آزمایش نمایند و ثابت نمایند که کدهای اشتباهی را از api شما به کارگیری نکرده اند، هشدارها به تنهایی نمی توانند سبب ساز شوند که یونیت آزمایش ها با ناکامی رو به رو شوند، پایتون یک فرمان برای تبدیل کردن هشدارها به ارور دارا است.
> python3 -Werror::DeprecationWarning script.py
Traceback (most recent call last):
File "script.py", line 14, in
Reptile().walk()
File "script.py", line 8, in walk
DeprecationWarning, stacklevel=2)
DeprecationWarning: walk is deprecated, use slither
ولی اعتنا داشته باشید که “step step step” الان چاپ نمی گردد به این دلیلکه اسکریپت با یک نادرست به نقطه پایان میرسد، به این ترتیب درصورتی که شما یک ورژن از api خویش را منتشر نموده اید که نسبت به اسلوب walk هشدار میدهد، شما میتوانید آن را در ورژن آجل با فرضی شل حذف فرمائید.
مطلقا بهاین مورد نیز اعتنا داشته باشید که یوزرها api شما برای پروژه خویش چه نیازمندی هایی را میخواهند.
# User\'s requirements.txt has a dependency on the reptile package.
Reptile