خلاصه نکات مهم از کتاب کد تمیز (CLEAN CODE)

تاریخ ارسال:

خلاصه نکات مهم از کتاب کد تمیز (CLEAN CODE)


معرفی کتاب کد تمیز

کتاب CLEAN CODE یا کد تمیز توسط رابرت سی. مارتین نوشته شده است. این کتاب بیشتر در مورد استاندرد هایی برای تولید کد های خوانا و قابل فهم بحث می کند. کتاب کد تمیز یک کتاب کلاسیک است که قطعا هر برنامه نویسی باید آنرا یکبار هم که شده بخواند. رعایت حتی کوچک ترین نکات کتاب هم، به خوانایی کد های شما بسیار کمک خواهد کرد.

چه کدی تمیز است؟

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

قوانین اصلی

1.   از قراردادهای استاندارد پیروی کنید.

2.   به صورت احمقانه ای همه چیز را ساده نگهدارید. هر چه سادگی بهتر. از هرگونه پیچیدگی دوری کنید.

3.   قوانین پیش آهنگی پسرانه. به هرجا که وارد می شود، تمیز از آنجا خارج شوید.

4.   همیشه به دنبال علت اصلی مشکلات باشد. سطحی از آن ها نگذرید.

قوانین طراحی

1.   داده های قابل پیکربندی را در سطح بالا نگهدارید.

2.   پلی مورفیسم را به if/else یا switch/case ترجیح دهید.

3.   کد های چند رشته ای (multi-threading) را از هم جدا کنید.

4.   از تنظیم پذیری بیش از اندازه جلوگیری کنید. (خیلی آپشن اضافه نکنید)

5.   از تزریق  وابستگی استفاده کنید.

6.   از قانون دمتر پیروی کنید. هر کلاس فقط باید وابستگی های مستقیم خودش را بشناسد.

7.   نکاتی برای قابل فهم بودن

8.   ثابت قدم باشید. اگر کاری را به روش خاصی انجام میدهید. همه موارد مشابه را نیز به همان روش انجام دهید.

9.   از متغیر های توضیحی استفاده کنید.

10.    شرایط مرزی را کپسوله کنید. ردیابی شرایط مرزی سخت است. پردازش آنها را در یک مکان قرار دهید 

.(Encapsulate boundary conditions)

11.     انواع اختصاصی متغیر ها را به نوع های اولیه مانند Var ترجیح دهید.

12.     از وابستگی منطقی بپرهیزید. متد هایی ننویسید که بسته چیز دیگری در آن کلاس به درستی کار می کنند.

13.      از شروط منفی دوری کنید.

قوانین نام گذاری

1.   نام های توصیفی و بدون ابهام بگذارید.

2.   تفاوت های معنادار ایجاد کنید.

3.   از اسامی قابل تلفظ استفاده کنید.

4.   از نام های قابل جستجو استفاده کنید.

5.   اعداد جادویی را با ثابت های نام گذاری شده جایگزین کنید.

6.   از کد گذاری جلوگیری کنید. از پیشوند ها یا  type information استفاده نکیند.

قوانین function ها

1.   کوچک باشد.

2.   تک وظیفه ای باشند.

3.   نام توصیفی داشته باشند.

4.   درگیری های کمتری لازم داشته باشند.

5.   تاثیر های خارجی نداشته باشند.

6.   از پرچم گذاری در متد استفاده نکنید. متد را به بخش های کوچکتری تقسیم کنید، تا هر بخش را جداگانه صدا کنید.

قوانین نظرات

1.   همیشه سعی کنید خودتان را در کد خوب توضیح بدهید.

2.   اضافه گویی نکنید.

3.   موارد واضح را بیان نکیند.

4.   از کامنت ها برای اعلام پایان یک متد استفاده نکنید.

5.   کد های از رده خارج را کامنت نکنید. پاکشان کنید.

6.   به عنوان برای قصد و هدفتان استفاده کنید.

7.   برای شفاف سازی کد استفاده کنید.

8.   به عنوان هشدار دهنده استفاده کنید.

ساختار کد منبع (source code)

1.   مفاهیم را به صورت عمودی جدا کنید.

2.   کد مرتبط باید به صورت عمودی متراکم به نظر برسد. (مثلا داخل if جلوتر باشد.)

3.   متغیرها را نزدیک به کاربردشان تعریف کنید.

4.   توابع وابسته باید نزدیک باشند.

5.   توابع مشابه باید نزدیک باشد.

6.   توابع را به جهت پایین قرار دهید.

7.   خطوط را کوتاه نگه دارید.

8.   از تراز افقی استفاده نکنید.

9.   از space برای ربط دادن موارد مرتبط جداکردن موارد غیر مرتبطاستفاده کنید.

10.    تورفتگی های اول خط را نشکنید.

اشیا و ساختار داده

1.   ساختار داخلی را پنهان کنید.

2.   ساختارهای داده را ترجیح دهید. (به جای اشیا)

3.   از ساختارهای هیبریدی (نیم شی و نیمه داده) اجتناب کنید.

4.   باید کوچک باشد.

5.   یک کار را انجام دهد.

6.   تعداد کمی از متغیرهای نمونه (instance variables) را ایجاد کنید.

7.   کلاس پایه نباید چیزی در مورد مشتقات (فرزندان) خود بداند.

8.   داشتن توابع زیاد بهتر از ارسال کد به یک تابع برای انتخاب یک رفتار است. (توابع را بشکانید)

9.   متد های غیر استاتیک را به متد های ایستا ترجیح دهید.

تست ها

1.   در هر آزمون دنبال یک مورد باشید. (one assert.)

2.   قابل خواندن.

3.   سریع.

4.   مستقل.

5.   قابل تکرار.

جاهایی که کد بو می دهد.

1.   صلبیت. زمانی که تغییر نرم افزار سخت است. یک تغییر کوچک باعث ایجاد سلسله ای از تغییرات بعدی می شود.

2.   شکنندگی. زمانی که نرم افزار در بسیاری از جاها به دلیل یک تغییر خراب می شود.

3.   بی حرکتی. زمانی که به دلیل وجود خطرات و نیاز به تلاش های زیاد، شما نمی توانید از بخش هایی از کد در پروژه های دیگر استفاده مجدد کنید.

4.   زمانی که پیچیدگی بی مورد وجود دارد.

5.   زمانی که تکرار بیهوده وجود دارد.

6.   کدورت. زمانی که درک کد سخت است.

در پایان

کتاب کد تمیز از آن دسته از کتاب هایی است که هر برنامه نویس حداقل یکبار باید آن را مطالعه کرده باشد. اما خب دغدغه های موجود در زندگی شاید فرصت زیادی را برای مطالعه این کتاب حجیم باقی نگذارد. به همین دلیل سعی کردیم در خلاصه ترین حالت ممکن نکات مهم کتاب را بیان کنیم.

در صورتی که تمایل داشتید کمی جامع تر مطالب را مطالعه کنید، این مطلب را به شما پیشنهاد می کنیم. همچنین اصل کتاب هم در کتابخانه داریان موجود است. و می توانید آن را دانلود کرده و شخصا مطالعه بفرمایید.

امیدوارم مطلب ارائه شده در کد نویسی تمیز و ارتقا مهارت شما کاربرد داشته باشد.

ارادتمند شما، داریان.


آخرین بروز رسانی: چهارشنبه 16 آذر 1401 ( 507   )

پست های مشابه

نظرات کاربران

برای نظر دادن وارد شوید.

0 نظر

جدیدترین مطالب! آخرین مطالب بلاگ

آموزش گیت در ویندوز

آموزش گیت در ویندوز

شنبه 17 ارديبهشت 1401 ( 369   )

گیت هاب ابزار بررسی و نگهداری تاریخچه هرگونه فایل و پروژه می باشد. هدف از توسعه چنین ابزاری کمک به ت...

بخوانید
کد نویس تمیز - خلاصه کتاب و نکات مهم

کد نویس تمیز - خلاصه کتاب و نکات مهم

چهارشنبه 10 فررودين 1401 ( 544   )

خلاصه کتاب کد نویس تمیز می گوید که برنامه نویس حرفه ای چگونه...

بخوانید
خلاصه نکات مهم از کتاب کد تمیز (CLEAN CODE)

خلاصه نکات مهم از کتاب کد تمیز (CLEAN CODE)

سه‏ شنبه 2 فررودين 1401 ( 507   )

کد زمانی تمیز است که به راحتی توسط تمام افراد حاضر در تیم قا...

بخوانید
معرفی کتاب اثر مرکب

معرفی کتاب اثر مرکب

شنبه 28 اسفند 1400 ( 405   )

"بر اساس این اصل که تصمیمات کوچک و روزمره یا شما را به زندگی...

بخوانید
شباهت های موجود در کاتلین و سی شارپ

شباهت های موجود در کاتلین و سی شارپ

چهارشنبه 11 اسفند 1400 ( 476   )

بیان شباهت های موجود بین زبان سی شارپ و کاتلین برای برنامه ن...

بخوانید