اصول کدنویسی تمیز Clean Code چیست

خلاصه
1404/05/09

اصول کدنویسی تمیز (Clean Code) مجموعه ای از دستورالعمل ها و فلسفه هایی هستند که هدفشان ایجاد کد قابل فهم، خوانا، قابل نگهداری و توسعه است. به عبارت دیگر، کدی که نوشته شده توسط

اصول کدنویسی تمیز Clean Code چیست

اصول کدنویسی تمیز (Clean Code) مجموعه ای از دستورالعمل ها و فلسفه هایی هستند که هدفشان ایجاد کد قابل فهم، خوانا، قابل نگهداری و توسعه است. به عبارت دیگر، کدی که نوشته شده توسط یک برنامه نویس، توسط برنامه نویس دیگری به راحتی قابل درک، تغییر و گسترش باشد. کد تمیز فقط برای ماشین نیست، بلکه برای انسان هم نوشته می‌شود.

در اینجا برخی از مهم‌ترین اصول کدنویسی تمیز آورده شده است:

**1. نامگذاری معنی دار (Meaningful Names):**

* **انتخاب نام های گویا و واضح:** نام متغیرها، توابع، کلاس ها و فایل ها باید به طور دقیق و واضح هدف و وظیفه آنها را نشان دهند. از اسامی کلی و مبهم مانند `x`, `data`, `tmp` تا حد امکان اجتناب کنید.
* **استفاده از اسامی جستجوپذیر:** نام ها باید به راحتی در کد قابل جستجو باشند. نام های تک حرفی (به جز در حلقه های ساده) استفاده نکنید.
* **نام کلاس ها باید اسم باشند و نام توابع فعل:** `Customer`, `Address` (اسم) / `getFirstName()`, `calculateTax()` (فعل).
* **ثابت نگه داشتن قراردادهای نامگذاری:** از یک الگوی نامگذاری ثابت در کل پروژه استفاده کنید. (مثلا Camel Case، Pascal Case، Snake Case)

**2. توابع کوچک و هدفمند (Small and Single Responsibility Functions):**

* **توابع باید کوچک باشند:** هر تابع باید حداکثر ۲۰ خط کد داشته باشد.
* **هر تابع باید یک کار را انجام دهد و آن را به خوبی انجام دهد:** تابع باید فقط یک مسئولیت داشته باشد. اگر یک تابع کار زیادی انجام می دهد، آن را به توابع کوچکتر تقسیم کنید.
* **تعداد آرگومان‌های تابع باید کم باشد:** بهترین حالت، تابع بدون آرگومان (nullary) است. بعد از آن تک آرگومان (unary)، دو آرگومان (binary) و به همین ترتیب. توابع با آرگومان‌های زیاد، خوانایی و تست پذیری را کاهش می‌دهند.
* **از توابع با اثر جانبی (side effects) خودداری کنید:** توابعی که علاوه بر مقدار بازگشتی، حالتی را در خارج از خود تغییر می دهند، می توانند باعث سردرگمی شوند.

**3. کامنت های کم و به جا (Comments When Necessary):**

* **کد باید گویا باشد، نه کامنت:** اگر کد به خوبی نوشته شده باشد، نیازی به توضیح زیادی ندارد. سعی کنید با نامگذاری مناسب و ساختاردهی خوب، خود کد را گویا کنید.
* **کامنت ها برای توضیح "چرا" نه "چه":** کامنت ها باید برای توضیح منطق پیچیده، تصمیم گیری های طراحی یا دلیل استفاده از یک روش خاص استفاده شوند. توضیح کارهایی که کد انجام می دهد معمولاً غیر ضروری است.
* **کامنت های قدیمی و منسوخ را پاک کنید:** کامنت های قدیمی که دیگر با کد همخوانی ندارند، گمراه کننده هستند.

**4. فرمت دهی مناسب (Formatting):**

* **قواعد قالب بندی ثابت:** از یک سبک قالب بندی ثابت (مانند استفاده از تورفتگی ها، فاصله ها و غیره) در کل پروژه استفاده کنید. این کار باعث می شود که کد خواناتر و یکنواخت تر به نظر برسد.
* **استفاده از یک Linting Tool:** از ابزارهای Linting استفاده کنید تا به طور خودکار قواعد قالب بندی را اعمال