توی پایتون چکار کنیم که کدها درست مرتب بشن تا خطا ندن
مرتبسازی کدها در پایتون (به اصطلاح Code Formatting) برای خوانایی بهتر، جلوگیری از خطاها و هماهنگی در پروژههای تیمی بسیار مهم است. خوشبختانه پایتون ابزارهای بسیار خوبی برای این کار دارد. در اینجا چند نکته و ابزار مهم را بررسی میکنیم:
1. اهمیت تورفتگی (Indentation):
- پایتون بر خلاف بسیاری از زبانهای دیگر، از تورفتگی برای مشخص کردن بلاکهای کد استفاده میکند (به جای براکت
{}
).
- همیشه از 4 فاصله (space) برای هر سطح تورفتگی استفاده کنید. از Tab استفاده نکنید (یا اگر استفاده میکنید، ویرایشگر خود را طوری تنظیم کنید که Tab را به 4 فاصله تبدیل کند).
- تورفتگیهای نامنظم یا مخلوطی از Tab و فاصله باعث بروز خطای
IndentationError
میشوند.
مثال:
2. قراردادهای نامگذاری (Naming Conventions):
- متغیرها و توابع: از نامهای با حروف کوچک و جداکنندهی کلمات با آندرلاین (
snake_case
) استفاده کنید. مثال: my_variable
, calculate_area
- کلاسها: از نامهای با حروف بزرگ برای شروع هر کلمه (
PascalCase
یا CamelCase
) استفاده کنید. مثال: MyClass
, ShoppingCart
- ثابتها: از نامهای با حروف بزرگ استفاده کنید. مثال:
PI
, MAX_SIZE
3. طول خط:
- به طور کلی، طول هر خط کد نباید از 79 کاراکتر بیشتر باشد. این کار باعث میشود کد شما در ویرایشگرهای مختلف و در کنار هم بهتر خوانده شود.
- اگر خط کدتان خیلی طولانی شد، آن را با استفاده از پرانتز، براکت، یا بکاسلش (
\
) بشکنید.
مثال:
4. فضای خالی:
- بعد از کاما (,) در لیستها، تاپلها، دیکشنریها و آرگومانهای تابع، یک فضای خالی قرار دهید.
- قبل و بعد از عملگرهای ریاضی (+, -, *, /, =, ==, !=, >, <, >=, <=) فضای خالی قرار دهید.
- دور پرانتزها، براکتها و آکولادها در صورت نیاز و برای خوانایی بیشتر، فضا قرار دهید.
مثال:
5. کامنتها (Comments):
- از کامنتها برای توضیح منطق کد، هدف توابع و کلاسها، و نکات مهم استفاده کنید.
- کامنتها باید خوانا و مختصر باشند.
- کامنتها را بهروز نگه دارید (اگر کد را تغییر دادید، کامنتها را هم بهروز کنید).
6. خطوط خالی (Blank Lines):
- از خطوط خالی برای جدا کردن بخشهای منطقی کد استفاده کنید.
- به طور کلی، بین توابع و کلاسها دو خط خالی قرار دهید.
- در داخل توابع، برای جدا کردن بخشهای مختلف منطق، یک خط خالی کافی است.
7. ابزارهای مرتبسازی کد (Code Formatters):
پایتون ابزارهای بسیار خوبی برای مرتبسازی خودکار کد دارد. این ابزارها به شما کمک میکنند تا کدهای تمیز و یکدستی داشته باشید.
*
autopep8
: این ابزار بهطور خودکار کد شما را مطابق با استاندارد PEP 8 مرتب میکند.
*
black
: این ابزار یک فرمتر کد opinionated است (یعنی تصمیمات سختگیرانهتری در مورد فرمتبندی میگیرد). بسیاری از توسعهدهندگان از
black
استفاده میکنند زیرا نیازی به تصمیمگیریهای زیاد در مورد فرمتبندی نیست.
*
flake8
: این ابزار یک لینتر (linter) است که مشکلات بالقوه در کد شما را پیدا میکند، از جمله مشکلات مربوط به فرمتبندی.
*
isort
: این ابزار import ها را مرتب میکند.
8. تنظیمات ویرایشگر:
- بسیاری از ویرایشگرهای کد (مانند VS Code, PyCharm, Sublime Text) امکانات داخلی برای فرمتبندی خودکار کد دارند.
- میتوانید این ویرایشگرها را طوری تنظیم کنید که به طور خودکار کد شما را هنگام ذخیره کردن فرمت کنند.
- میتوانید پلاگینهایی را نصب کنید که از
autopep8
یا black
برای فرمتبندی کد استفاده کنند.
نکته مهم:
*
PEP 8: استاندارد رسمی سبک کدنویسی برای پایتون PEP 8 است. سعی کنید از این استاندارد پیروی کنید.
خلاصه:
مرتبسازی کدها در پایتون فرآیندی است که با رعایت تورفتگیها، قراردادهای نامگذاری، طول خط، فضای خالی، کامنتها و استفاده از ابزارهای فرمتبندی خودکار انجام میشود. این کار باعث میشود کد شما خواناتر، قابل فهمتر و قابل نگهداریتر باشد. بهترین راه این است که از همان ابتدا عادت کنید کدهای خود را مرتب بنویسید و از ابزارهای فرمتبندی برای حفظ یکدستی استفاده کنید.