| کانال توسعهدهندگان پایتون |
• زیبایی بهتر از زشتی است
مثال بارز از رعایت این اصل را در سینتکس پایتون مشاهده میکنیم و در زمان نوشتن کد نیز باید به آن توجه شود. با توجه به اینکه هر فرد میتواند تعریف متفاوتی از زیبایی داشته باشد، یک الگوی زیبایی که مورد قبول همه واقع شود وجود ندارد، اما پایبندی به یک الگوی مشخص بهبود ظاهر کد را به دنبال دارد.
• وضاحت بهتر از ابهام است
کد باید اهداف و مقاصد خود را به وضاحت و صراحت بیان کند و از هرگونه پیچیدگی و ابهام در نوشتن کد خودداری گردد. نوشتن کامنت، داک استرینگ، تعریف تایپ، استفاده از اسمهای مناسب و پیروی از یک الگوی مشخص به وضاحت کد افزوده میشود.
python
# Implicit ❌
def area(l, w):
return l * w
# Explicit ✅
def calculate_rectangle_area(length, width):
return length * width
در این مثال، نامگذاری مناسب تابع و پارامتر ها به وضوح هدف تابع را نشان میدهد. اضافه کردن داک استرینگ و تعریف تایپ برای پارامتر ها و خروجی نیز باعث وضاحت بیشتر خواهد شد.
• سادگی بهتر از پیچیدگی و پیچیدگی بهتر از بهم ریختگی است
روشهای ساده بیشتر اوقات بهتر و سودمندتر هستند و باید بجای روشهای پیچیده استفاده شوند. اما بعضی موضوعات اساساً پیچیده هستند و پیادهسازی آنها با روشی ساده امکانپذیر نیست. در این صورت، بهتر است این پیچیدگی با حفظ نظم پیادهسازی شوند تا از بهم ریختگی جلوگیری شود. نمونه بارز آن استفاده از list comprehension است که هرچند روشی پیچیده هستند اما مانع بهم ریختگی میشوند.
python
# Complex ❌
result = []
for i in range(10):
if i % 2 == 0:
result.append(i)
# Complex but organized ✅️
result = [i for i in range(10) if i % 2 == 0]
در این مثال، روش دوم از list comprehension استفاده کرده که باعث میشود کد کوتاهتر و خواناتر شود، در حالی که روش اول با استفاده از حلقه و شرطها بهم ریختگی بیشتری دارد و پیچیدهتر به نظر میرسد.
• مسطح و هموار بهتر از تو در تو است (تنها در این مورد 🙄)
نوشتن کد به صورت تو در تو باعث ناخوانا شدن برنامه میشود و بهتر است کدها تا حد امکان به صورت مسطح و کم عمق نوشته شوند.
# Nested ❌
if x > 0:
if y > 0:
if z > 0:
...
# Flat ✅️
if x > 0 and y > 0 and z > 0:
...
• پراکندگی بهتر از تراکم است
در عین حال، نوشتن کد به صورت هموار و مسطح نباید باعث تراکم کد در یک خط شود و هر کد باید فضای کافی داشته باشد تا خوانایی و زیبایی کد حفظ شود.
# Dense ❌
if x > 0: print("Positive"); print("Check done")
# Sparse ✅️
if x > 0:
print("Positive")
print("Check done")
• خوانایی مهم است
کدها باید به گونهای پیادهسازی شوند که دیگران به آسانی بتوانند آنها را بخوانند و درک کنند. به همین دلیل، سینتکس پایتون مشابه به زبان گفتاری انسان است. همچنین، پایبندی به اصول یادشده، مانند سادگی، وضاحت، و مسطح بودن کد، باعث افزایش خوانایی کد میشود.
• موارد خاص آنقدری خاص نیستند که قوانین را نقض کنند، اما سودمندی بر قوانین غلبه دارد!
در برنامهنویسی همیشه یک تعداد اصول و قوانین خاص وجود دارد که پیش آمدن موارد خاص نباید باعث نقض قوانین شود. هرچند بیش از حد اصولی بودن ممکن است همیشه سودمند نباشد. به عنوان یک مثال بارز از بیش از حد اصولی بودن میتوان به زبان برنامهنویسی جاوا اشاره کرد، پیروی دائم این زبان از اصول شی گرایی باعث شده است که پیادهسازی کوچکترین برنامهها نیز به مقدار زیادی از کد داشته باشند. به همین دلیل، نیاز است تعادل میان این دو اصل حفظ شود. بهترین رویکرد این است که به اصول پایبند باشیم، اما در همان زمان، سعی کنیم که سودمندی کد نیز در نظر گرفته شود. (پایبند به اصول باش اما تا زمانی که سودمنده 🤓☝️)
🔖 #Python, #پایتون
👤 xin
💎 Channel: @DevelopixPython
16 · 2.5K ·