ابزارهای زیادی هست که با استفاده از اونها ما تبدیل بشیم به یک برنامه نویس بهتر. ابزارهایی که در استفاده های روزمره به کمک زیادی میکنه، که یکی از اون ابزار linting هست که تقریبا همه زبان های برنامه نویسی برای خودشون یکی دارند.
به برنامه ای که کد ما رو آنالیز میکنه و خطاهای احتمالی رو پیدا میکنه، Linting نامیده میشه.
اولین برنامه ای که این کار رو کرد Lint بود و توی زبان C کار میکرد.
خب تقریبا میشه گفت آره، استفاده از اونا باعث میشه که
خب یکی از ابزارهای linting در پایتون هست و توی کاروانرو ما از اون استفاده میکنیم.
برای نصب کافیه با توجه به ورژن پایتونی که دارید نصب رو انجام بدید
python<version> -m pip install flake8
برای استفاده از اون هم کافیه فقط توی ترمینالتون دستور زیر رو وارد کنید
flake8 path/to/code/to/check.py # or flake8 path/to/code/
یکی از امکانات خیلی باحال تر flake8 اینه که شما میتونید فقط یک خطای خاص رو توی یک فایل یا فولدر بررسی کنید.
فرض کنید که میخواهیم بررسی کنیم که آیا خط طولانی توی یک فولدر وجود داره یا نه
flake8 — select E501 path/to/your_project/
فرض کنید که پروژه ای دارید فایل های زیادی داره و وقت و حوصله ویرایش فایلهای قدیمی رو ندارید ولی تصمیم دارید از این ابزار برای فایل های جدید استفاده کنید و یا شاید شما دوست داشته باشید که flake8 رو به Continuous integration اضافه کنید و از این به بعد همه باید از این ابزار استفاده کنند.
#!/usr/bin/env bash changed_files=$(git diff --diff-filter=ACM --name-only origin/master | grep -E '\.py$' | grep -v 'migrations/') echo "$changed_files" echo "" if [[ "$changed_files" = "" ]]; then exit 0 fi echo "$changed_files" | xargs flake8 --ignore=E711 --statistics --count rc=$? if [[ "$rc" != 0 ]]; then echo "FLAKE8 check failed, commit denied" exit "$rc" fi
این کد کاری که انجام میده اینه که اول که فایل های جدید یا تغییر پیدا کرده رو از گیت میگیره و linting رو روی اونا انجام میده و اگه خطا داشته باشه نمایش میده.
شما کافیه این دستور shell رو هر بار قبل از کامیت کردن یا قبل از deploy کردن کدتون اجرا کنید.