سطح مقدماتی (Beginner Level)
مهمترین ویژگی پایتون، خوانایی آن است. PEP 8 (Python Enhancement Proposal 8) سندی است که خالق پایتون و جامعه توسعهدهندگان آن را تدوین کردهاند تا همه کدهای پایتون در سراسر دنیا ظاهری یکسان و استاندارد داشته باشند. رعایت این اصول باعث میشود کد شما حرفهای به نظر برسد و همکاری تیمی آسانتر شود.
۱. تورفتگی (Indentation)
در پایتون، تورفتگی فقط برای زیبایی نیست؛ بلکه بخشی از سینتکس است. طبق PEP 8، باید همیشه از ۴ فاصله (Space) برای هر سطح تورفتگی استفاده کنید.
- نکته: هرگز از Tab و Space به صورت ترکیبی استفاده نکنید.
# Example 2: Incorrect Indentation (Visual Example)
# (Do not use this style)
def bad_style():
print("Two spaces?") # Bad
print("Three spaces?") # SyntaxError often
۲. نامگذاری متغیرها و توابع (Naming Conventions)
پایتون قواعد مشخصی برای نامگذاری دارد:
- Variable & Function: استفاده از
snake_case(حروف کوچک و زیرخط). - Constant: استفاده از
UPPER_CASE(حروف بزرگ و زیرخط) برای مقادیر ثابت. - Class: استفاده از
PascalCase(حرف اول هر کلمه بزرگ، بدون زیرخط).
۳. فاصله سفید (Whitespace)
استفاده صحیح از فاصله باعث تنفس کد میشود.
- اطراف عملگرهای انتساب (
=) و مقایسه (==,<,>) یک فاصله بگذارید. - بعد از کاما (
,) یک فاصله بگذارید.
سطح پیشرفته (Professional Level)
در سطح حرفهای، رعایت PEP 8 فراتر از ظاهر است و به نگهداری و دیباگ کد کمک میکند. اینجا با جزئیات دقیقتر و ابزارهای کمکی آشنا میشویم.
۱. سازماندهی ایمپورتها (Imports Organization)
ایمپورتها باید همیشه در بالای فایل باشند و به ترتیب زیر گروهبندی شوند:
- کتابخانههای استاندارد (Standard Library) مثل
os,sys. - کتابخانههای شخص ثالث (Third-party) مثل
requests,pandas. - ماژولهای محلی پروژه (Local Application).
بین هر گروه باید یک خط خالی فاصله باشد.
# Example 5: Proper Import Structure (Static)
import os
import sys
import requests
from flask import Flask
from my_project import config
from my_project.utils import helper
def app_start():
pass
۲. طول خطوط (Line Length)
استاندارد کلاسیک PEP 8 پیشنهاد میکند طول هر خط کد از ۷۹ کاراکتر بیشتر نشود. این کار باعث میشود بتوانید چند فایل را در کنار هم در ادیتور باز کنید.
- اگر خط طولانی شد، میتوانید از پرانتز
()برای شکستن خط استفاده کنید (به جای Backslash\).
۳. نادیده گرفتن PEP 8 (Pragmatism)
یک قانون طلایی در PEP 8 وجود دارد: "A Foolish Consistency is the Hobgoblin of Little Minds". اگر رعایت یک قانون باعث ناخوانایی کد میشود یا با کدهای قدیمی پروژه (Legacy Code) تضاد شدید دارد، میتوانید آن را نادیده بگیرید. اما این کار باید دلیل موجهی داشته باشد.
۴. ابزارهای خودکارسازی (Linters & Formatters)
برنامهنویسان حرفهای استایل را دستی چک نمیکنند. از ابزارها استفاده کنید:
- Black: فرمتر سختگیر که کد را خودکار بازنویسی میکند.
- Flake8: لینتر (Linter) که خطاها را گزارش میدهد.
- isort: مرتبسازی خودکار ایمپورتها.