پایتون به سادگی و خوانایی مشهور است، و یکی از عوامل مهم در نوشتن کدی تمیز و قابل نگهداری، رعایت اصول نامگذاری یکپارچه است. در این مقاله، با 8 قانون اساسی نامگذاری در پایتون آشنا میشویم. رعایت این اصول نهتنها خوانایی کد را افزایش میدهد، بلکه همکاری بین توسعهدهندگان را بهبود میبخشد و نگهداری پروژه را آسانتر میکند.
1.اصل مهم: وضوح و خوانایی
وقتی صحبت از نامگذاری متغیرها، توابع، کلاسها و ماژولها در پایتون میشود، اصل مهم وضوح و خوانایی است. کد شما بیشتر از آنچه نوشته میشود، خوانده میشود، بنابراین نامهایی را در اولویت قرار دهید که به وضوح هدف و عملکرد آنها را منتقل میکنند. به یاد داشته باشید، نامهای توصیفی، کد شما را خودآموز میکنند و به سایر توسعهدهندگان کمک میکنند تا آن را به راحتی درک کنند.
# اشتباه
tp = 15000 # نام مبهم، مشخص نیست منظور چیست
# درست
total_price = 15000 # نام واضح و توصیفی
2.سبکهای نامگذاری توصیفی: سازگاری کلید اصلی است
پایتون سبکهای نامگذاری مختلفی مانندحروف کوچک، حروف کوچک با آندرلاین (snake_case)، حروف بزرگ ترکیبی (CamelCase)، و حروف کاملاً بزرگ (ALL_CAPS). برای متغیرها و توابع از snake_case و برای کلاسها از CamelCase را ارائه میدهد. انتخاب سبک نامگذاری که با قراردادهای پروژه شما همسو باشد و به طور مداوم به آن پایبند باشید، بسیار مهم است.
# اشتباه
def SendEmail(): # استفاده از CamelCase برای تابع، ناهماهنگ با PEP 8
pass
# درست
def send_email(): # استفاده از snake_case برای تابع
pass
# اشتباه
class email_sender: # استفاده از حروف کوچک برای کلاس، ناهماهنگ با PEP 8
pass
# درست
class EmailSender: # استفاده از CamelCase برای کلاس
pass
3.قراردادهای نامگذاری : PEP 8 به عنوان راهنمای شما
برای حفظ یکپارچگی بین توسعهدهندگان پایتون، توصیه میشود از راهنمای سبکنویسی Python Enhancement Proposal (PEP) پیروی کنی. این راهنما استانداردهای نامگذاری، ساختار کد و بهترین شیوهها را ارائه میدهد.
# اشتباه
def GetUserProfile(UserId): # استفاده از CamelCase برای تابع و پارامتر
pass
# درست
def get_user_profile(user_id): # استفاده از snake_case طبق PEP 8
pass
📎 لینک راهنما: PEP 8 — Style Guide for Python Code
4.نامهای ممنوعه: از ابهام دوری کنید
برای جلوگیری از تداخل و سردرگمی، باید از نامهای خاصی در پایتون اجتناب شود. به عنوان مثال، از استفاده از توابع داخلی یا نام ماژولها به عنوان نام متغیر خودداری کنید. علاوه بر این، به طور کلی باید از نامهای متغیر تک کاراکتری اجتناب شود، به جز شمارندههای ساده یا تکرارکنندهها. نامهای معنادار و توصیفی، درک کد را افزایش داده و ابهام را کاهش میدهند.
# اشتباه
list = [1, 2, 3] # استفاده از نام تابع داخلی پایتون
# درست
user_list = [1, 2, 3] # نام توصیفی و بدون تداخل با توابع داخلی
# اشتباه
x = 5 # نام تکحرفی و مبهم
# درست
retry_count = 5 # نام واضح و قابل فهم
5.سازگاری ASCII: تلاش برای قابلیت حمل
در حالی که پایتون از کاراکترهای یونیکد برای نام متغیرها پشتیبانی میکند، توصیه میشود برای سازگاری بین پلتفرمها، ویرایشگرها و ابزارها از کاراکترهای ASCII استفاده کنید. کاراکترهای غیر ASCII میتوانند منجر به مشکلات رمزگذاری شوند و مانع از قابلیت حمل کد شما شوند. برای اطمینان از همکاری روان و اجرای مداوم کد، به کاراکترهای ASCII پایبند باشید.
# اشتباه
ç = 42 # استفاده از کاراکتر غیر ASCII ممکنه باعث ناسازگاری در محیطهای مختلف بشه
# درست
count = 42 # استفاده از کاراکترهای ASCII باعث سازگاری و قابل حمل بودن کد میشه
6.نامگذاری بستهها و ماژولها: کوتاه، واضح و بدون خط فاصله
هنگام نامگذاری بستهها و ماژولها، نامهای کوتاه و توصیفی را انتخاب کنید که به وضوح هدف آنها را توصیف میکنند. از استفاده از زیرخط یا خط فاصله در نام بستهها خودداری کنید تا با کتابخانه استاندارد پایتون و بستههای شخص ثالث سازگار باشد. با این حال، استفاده از زیرخط برای زیرماژولهای درون یک بسته قابل قبول است.
# اشتباه
my_package_name_with_underscores = ... # استفاده از زیرخط در نام بسته، ناسازگار با استانداردهای پایتون
# درست
mypackage = ... # نام کوتاه، واضح و بدون زیرخط، سازگار با کتابخانههای استاندارد
7.نام کلاسها: قدرت CamelCase
برای نام کلاسها، از قرارداد CamelCase پیروی کنید. هر کلمه را با یک حرف بزرگ شروع کنید، بدون هیچ زیرخط یا خط فاصلهای. نام کلاسها باید توصیفی باشند و هدف یا رفتار کلاس را منعکس کنند. برای حفظ وضوح و بهبود درک کد، از اختصارات یا نامهای بیش از حد عمومی خودداری کنید.
# اشتباه
class user: # نام عمومی و با حروف کوچک
# درست
class RegisteredUser: # نام توصیفی با CamelCase
pass
8.ثابتها: با حروف بزرگ نوشته میشوند
ثابتها مقادیری هستند که انتظار نمیرود در طول زمان اجرا تغییر کنند. طبق قرارداد، نامهای ثابت با حروف بزرگ نوشته میشوند و کلمات با خط تیره از هم جدا میشوند. تعریف ثابتها در سطح ماژول، امکان دسترسی و استفاده آسان از آنها را در طول پروژه فراهم میکند.
# اشتباه
pi = 3.14 # متغیر معمولی، نه به عنوان ثابت
# درست
PI = 3.14 # ثابت با حروف بزرگ طبق قرارداد
نتیجهگیری:
پیروی از قراردادهای نامگذاری منسجم، جنبهای حیاتی در نوشتن کد تمیز، خوانا و قابل نگهداری است. با اتخاذ این 8 دستورالعمل ضروری برای قراردادهای نامگذاری پایتون، میتوانید همکاری را بهبود بخشید، درک کد را افزایش دهید و اطمینان حاصل کنید که کد شما منسجم و قابل نگهداری باقی میماند. به یاد داشته باشید که هنگام انتخاب نام، وضوح و خوانایی را در اولویت قرار دهید و همیشه برای راهنمایی جامع در مورد استانداردهای کدنویسی پایتون به راهنمای سبک PEP 8 مراجعه کنید.