آنالیز کد با pylint پایتون
در این ویدیو با pylint پایتون آشنا خواهید شد. Pylint یک ابزار تحلیل کد استاتیک برای زبان برنامه نویسی پایتون است. خطاها، اشکالات و مسائل مربوط به سبک کد شما را بررسی می کند و می تواند به شما در بهبود کیفیت کلی و خوانایی کدتان کمک کند. Pylint بسیار قابل تنظیم است و می تواند با انواع IDE ها و ویرایشگرهای متن ادغام شود. همچنین این قابلیت را دارد که به طور خودکار برخی از مشکلاتی را که پیدا می کند برطرف کند. Pylint ابزار ارزشمندی برای هر توسعهدهنده پایتون است که به دنبال بهبود کیفیت کدهای خود و تشخیص خطاهای احتمالی قبل از تبدیل شدن به یک مشکل است.
دوره پیشنهادی: دوره آموزش پایتون
# نصب pylint
Pylint را می توان با استفاده از pip، نصب کننده پکیج برای پایتون، نصب کرد. برای نصب Pylint، یک خط فرمان یا ترمینال را باز کنید و دستور زیر را اجرا کنید:
pip install pylint
پس از نصب Pylint، می توانید نسخه نصب شده را با دستور زیر بررسی کنید:
pylint --version
اگر دستور بالا به درستی اجرا شود، به این معنی است که pylint به درستی نصب شده است.
دوره پیشنهادی: دوره آموزش عبارات باقاعده در پایتون
# کانفیگ pylint
Pylint دارای طیف گسترده ای از گزینه های پیکربندی است که به شما امکان می دهد رفتار آن را سفارشی کنید. میتوانید Pylint را با استفاده از یک فایل پیکربندی، گزینههای خط فرمان یا متغیرهای محیطی پیکربندی کنید.
1. استفاده از فایل پیکربندی: Pylint به دنبال یک فایل پیکربندی به نام pylintrc.
در دایرکتوری فعلی و سپس در دایرکتوری home میگردد. شما می توانید این فایل را ایجاد کنید و گزینه هایی را که می خواهید استفاده کنید را مشخص کنید. فایل باید دارای یک گزینه در هر خط در قالب: option=value
باشد.
2. استفاده از گزینه های خط فرمان: همچنین می توانید هنگام اجرای Pylint گزینه هایی را در خط فرمان مشخص کنید. به عنوان مثال، برای فعال کردن پیام missing-docstring
میتوانید از دستور زیر استفاده کنید:
pylint --enable=missing-docstring file.py
3. استفاده از متغیرهای محیطی: برخی از گزینه ها را می توان به عنوان متغیرهای محیطی نیز تنظیم کرد. به عنوان مثال، برای تنظیم گزینه max-line-length
روی 120، می توانید از دستور زیر استفاده کنید:
export PYLINT_MAX_LINE_LENGTH=120
همچنین می توانید از ترکیبی از این روش ها برای پیکربندی Pylint استفاده کنید. گزینه های مشخص شده در خط فرمان یا به عنوان متغیرهای محیطی، گزینه های مشخص شده در فایل پیکربندی را لغو می کنند.
به شدت توصیه می شود گزینه ها را بررسی کنید و pylint را مطابق با نیاز خود پیکربندی کنید. همچنین لازم به ذکر است که میتوانید از پلاگینهای pylint برای گسترش عملکرد pylint استفاده کنید.
pylint --generate-rcfile > .pylintrc
دستور بالا یک فایل pylintrc.
با تمام گزینه های موجود ایجاد می کند و می توانید این فایل را برای فعال/غیرفعال کردن یا پیکربندی گزینه ها بر اساس نیاز خود ویرایش کنید.
دوره پیشنهادی: دوره آموزش سلری پایتون
# اجرا کردن pylint روی فایل پایتونی
پس از نصب و پیکربندی Pylint، میتوانید از آن برای بررسی خطاها، باگها و مشکلات استایل یک فایل پایتون استفاده کنید. برای اجرای Pylint روی یک فایل پایتون، کافی است یک خط فرمان یا ترمینال را باز کنید و به دایرکتوری حاوی فایل بروید. سپس دستور زیر را اجرا کنید:
pylint file.py
همچنین، میتوانید از دستور زیر برای بررسی همه فایلهای پایتون در دایرکتوری فعلی استفاده کنید:
pylint *.py
همچنین می توانید چندین فایل یا دایرکتوری را برای بررسی همزمان مشخص کنید:
pylint file1.py file2.py directory/
Pylint گزارشی ایجاد می کند که تمام مشکلاتی را که در فایل پیدا کرده است، از جمله پیام های خطا، پیام های هشدار و پیام های اطلاعاتی فهرست می کند. این گزارش همچنین شامل خلاصهای است که بر اساس تعداد مسائل یافت شده، امتیاز کلی را به فایل میدهد.
ویدیو پیشنهادی: آموزش monkey patch در پایتون
# درک خروجی pylint
وقتی Pylint اجرا میشود، گزارشی تولید میکند که تمام مشکلاتی را که در فایل پیدا کرده، از جمله پیامهای خطا، پیامهای هشدار و پیامهای اطلاعاتی فهرست میکند. این گزارش همچنین شامل خلاصهای است که بر اساس تعداد مسائل یافت شده، امتیاز کلی را به فایل میدهد.
این گزارش در بخش های مختلف سازماندهی شده است که هر بخش مربوط به دسته بندی خاصی از مسائل است. بخش ها عبارتند از:
1. ارزیابی کلی: این بخش شامل یک امتیاز کلی برای فایل، بر اساس تعداد مسائل یافت شده است. امتیاز عددی بین 10- تا 10 است که نمرات بالاتر نشان دهنده کیفیت کد بهتر است.
2. قراردادها: این بخش حاوی پیام هایی در مورد قراردادهای کدگذاری، مانند قراردادهای نامگذاری، تورفتگی و فضای خالی است.
3. ریفکتور: این بخش حاوی پیامهایی در مورد کدهایی است که میتوانند برای کارآمدتر یا خواناییتر مجدداً اصلاح شوند.
4. هشدار: این بخش حاوی پیام هایی در مورد مشکلات احتمالی است، مانند استفاده از کد منسوخ شده یا استفاده از متغیرهایی که تعریف نشده اند.
5. خطا: این بخش حاوی پیام هایی در مورد خطاهای واقعی است، مانند خطاهای نحوی یا استفاده از متغیرهای تعریف نشده.
6. متفرقه: این بخش حاوی پیام هایی است که در هیچ یک از دسته بندی های دیگر قرار نمی گیرند.
هر پیام در گزارش با یک کد، یک نماد، یک توضیحات و یک مکان مشخص می شود. کد یک شناسه منحصربهفرد برای پیام است، نماد یک رشته کوتاه است که پیام را نشان میدهد، توضیح معنای پیام را توضیح میدهد و مکان به شما میگوید در کجای فایل پیام پیدا شده است.
این گزارش همچنین شامل خلاصه ای از تعداد پیام ها برای هر دسته و برای هر نماد است.
Pylint یک ابزار است و خروجی همیشه درست نیست. توصیه می شود قبل از ایجاد هر گونه تغییری، خروجی را مرور کرده و زمینه مسائل را درک کنید.
ویدیو پیشنهادی: مدیریت حافظه و ماژول gc در پایتون
# سفارشی کردن قوانین pylint
Pylint دارای مجموعه ای از قوانین داخلی است که از آنها برای بررسی کد شما استفاده می کند. این قوانین برای شناسایی خطاهای رایج و مسائل سبک طراحی شده اند، اما ممکن است همیشه برای پروژه خاص یا سبک کدنویسی شما مناسب نباشند.
خوشبختانه، Pylint به شما این امکان را می دهد که قوانین خود را برای مطابقت بهتر با نیازهای خود سفارشی کنید. چندین راه برای سفارشی کردن قوانین Pylint وجود دارد:
1. استفاده از فایل پیکربندی: Pylint میتواند یک فایل پیکربندی را بخواند که مشخص میکند کدام قوانین فعال یا غیرفعال شود و همچنین تنظیمات دیگر. فایل های پیکربندی را می توان با استفاده از گزینه –rcfile هنگام اجرای Pylint مشخص کرد.
2. استفاده از گزینه های خط فرمان: می توانید از گزینه های خط فرمان برای فعال یا غیرفعال کردن قوانین خاص یا تغییر تنظیمات دیگر استفاده کنید. به عنوان مثال، میتوانید از گزینه –disable برای غیرفعال کردن قوانین خاص یا –enable برای فعال کردن قوانین خاص استفاده کنید.
3. استفاده از کامنت درون خطی: می توانید از کامنت درون خطی در کد خود برای فعال یا غیرفعال کردن قوانین خاص برای بخش خاصی از کد استفاده کنید. به عنوان مثال، می توانید از نظر زیر برای غیرفعال کردن یک قانون خاص برای خط بعدی کد استفاده کنید:
# pylint: disable=rule-name
4. ایجاد بررسیکننده سفارشی: اگر قوانین داخلی مطابق با نیازهای شما نیست، می توانید بررسی کنندههای سفارشی خود را ایجاد کنید. بررسی کنندههای سفارشی را می توان به عنوان یک کلاس پایتون ایجاد کرد که از کلاس pylint.checkers.BaseChecker به ارث برد و روش های خاصی را برای بررسی مسائل خاص پیاده سازی می کند.
هنگامی که قوانین Pylint را سفارشی می کنید، باید با بهترین شیوه های کدنویسی آشنا شوید. همچنین، باید با قوانین خاصی که سفارشی می کنید آشنا باشید و پیامدهای غیرفعال کردن یا تغییر آن قوانین را درک کنید.
دوره پیشنهادی: دوره آموزش asyncio در پایتون
# مقایسه pylint و IDE
Pycharm و Visual Studio Code هر دو محیط توسعه یکپارچه محبوب (IDE) برای توسعه Python هستند و هر دو با پشتیبانی داخلی از linting ارائه می شوند. لینتینگ در این IDE ها شبیه به استفاده از Pylint است، اما برخی تفاوت های کلیدی وجود دارد که باید در نظر گرفته شود.
1. ابزار داخلی در مقابل ابزار خارجی: Pylint یک ابزار خارجی است که باید به طور جداگانه نصب شود، در حالی که linting در Pycharm و Visual Studio Code داخلی است. این بدان معنی است که برای استفاده از linting در این IDE ها نیازی به نصب هیچ چیز اضافی ندارید.
2. سفارشی سازی: Pylint امکان سفارشی سازی بیشتری را نسبت به ابزارها داخلی در Pycharm و Visual Studio Code می دهد. به عنوان مثال، Pylint به شما امکان می دهد بررسی کننده های سفارشی ایجاد کنید، در حالی که این امکان با ابزار داخلی در این IDE ها وجود ندارد.
3. یکپارچه سازی: Pylint را می توان با ابزارهای دیگر مانند سیستم های یکپارچه سازی پیوسته ادغام کرد، در حالی که lint داخلی در Pycharm و ویژوال استودیو مستقیماً با IDE ادغام می شود.
4. پیکربندی: پیکربندی Pylint از طریق گزینه های خط فرمان یا با ایجاد یک فایل پیکربندی انجام می شود. پیکربندی PyCharm و Visual Studio Code از طریق تنظیمات یا ترجیحات IDE انجام می شود.
5. پیام های خطا و هشدار: Pylint و ابزار داخلی در Pycharm و Visual Studio Code از فرمت های مختلفی برای پیام های خطا و هشدار استفاده می کنند. این می تواند جابجایی بین استفاده از Pylint و ابزار داخلی در این IDE ها را دشوار کند.
به طور خلاصه، Pylint یک ابزار قدرتمند است که میتواند در ارتباط با Pycharm و Visual Studio Code استفاده شود، اما پشتیبانی داخلی در این IDEها میتواند راحتتر باشد. این در نهایت به نیازهای خاص پروژه شما و میزان سفارشی سازی شما بستگی دارد.
ارسال نظر