اصول تمیزنویسی کد (Clean Code) که هر برنامهنویس باید رعایت کند

هر برنامهنویسی حداقل یکبار این تجربه را داشته: بازکردن کدی که خودش شش ماه پیش نوشته، و نفهمیدن اینکه دقیقاً چه کار میکند. Clean Code یا «کد تمیز» مجموعهای از اصول ساده است که این مشکل را کم میکند.
۱. نامگذاری معنادار
نام متغیر، تابع یا کلاس باید بهتنهایی بگوید چه کاری انجام میدهد، بدون نیاز به کامنت اضافه.
# بد
def calc(x, y):
return x * y * 0.09
# خوب
def calculate_tax(price, quantity):
TAX_RATE = 0.09
return price * quantity * TAX_RATE
نسخهی دوم حتی بدون هیچ توضیحی، خودش را معرفی میکند.
۲. توابع کوچک، با یک مسئولیت مشخص
اگر یک تابع چندین کار مختلف انجام میدهد (مثلاً هم داده را اعتبارسنجی میکند، هم آن را ذخیره میکند، هم ایمیل میفرستد)، فهمیدن، تستکردن و تغییردادن آن سخت میشود. هر تابع باید فقط یک کار انجام دهد و آن کار را در نامش نشان دهد.
۳. تکرار نکنید (DRY)
اگر یک تکه کد را در سه جای مختلف کپی کردهاید، بهجای آن یک تابع مشترک بسازید. وقتی همان منطق بعداً نیاز به تغییر پیدا کند (و معمولاً پیدا میکند)، فقط یک جا را اصلاح میکنید، نه سه جا با احتمال فراموشکردن یکی از آنها.
۴. کامنت باید «چرا» را توضیح دهد، نه «چه»
# بد — فقط تکرار همان چیزی که کد میگوید
# قیمت را در تعداد ضرب کن
total = price * quantity
# خوب — توضیح یک دلیل غیرواضح
# نرخ تخفیف ویژه مشتریان قدیمی طبق توافق بازاریابی (تیکت #482)
total = price * quantity * LOYALTY_DISCOUNT
اگر کد بهتنهایی «چه کاری» انجام میدهد را نشان میدهد، کامنت اضافه فقط شلوغی ایجاد میکند. کامنت زمانی ارزشمند است که چیزی را توضیح دهد که از خود کد مشخص نیست.
۵. ساختار یکدست و قابلپیشبینی
وقتی سبک نوشتن کد (نامگذاری، تورفتگی، سازماندهی فایلها) در کل پروژه یکسان باشد، هر عضو تیم میتواند بخشهای دیگر را هم راحت بخواند — حتی بخشهایی که خودش ننوشته. ابزارهایی مثل Prettier یا ESLint (برای جاوااسکریپت) یا Black (برای پایتون) این یکدستی را بهصورت خودکار اعمال میکنند.
این اصول برای چه کسی مهم است؟
شاید فکر کنید در یک پروژهی شخصی و کوچک، رعایت این اصول لازم نیست. اما واقعیت این است که «شما در شش ماه آینده» هم یک همکار جدید محسوب میشوید — کسی که زمینهی ذهنی این لحظه را دیگر ندارد. کد تمیز، هدیهای است که به خودِ آیندهتان میدهید.
جمعبندی
کد تمیز به معنای «پیچیدهنویسی» یا «رعایت قوانین سختگیرانه» نیست؛ به این معناست که کد را برای خواندهشدن توسط انسان بنویسید، نه فقط برای اجراشدن توسط ماشین. این یک مهارت است که با تمرین و بازخوانی مداوم کد خودتان، بهمرور تقویت میشود.


