مرا اسکن کن!

سه اصل KISS , YAGNI , DRY برای ساده سازی توسعه نرم افزار

سه اصل KISS , YAGNI , DRY برای ساده سازی توسعه نرم افزار



به ساده ترین شکل ممکن کد بزنید. وقتی روشهای ساده برای نوشتن کد وجود دارند چه دلیلی دارد از روشهای عجیب و غریب و پیچیده استفاده کنید؟! کد ساده زمان کمتری از شما می گیرد، خطای کمتری دارد و تغییر دادن آن ساده است.

در سال های زیادی که من در دنیای برنامه نویسی بوده ام با کد های پیچیده ی زیادی را مشاهده کرده ام که حسی در من بوجود نیاورده اند.به عبارت دیگر کدهایی را دیده ام که تنها برنامه نویسش میداند چجوری کار میکنید.با این حال وقتی از برنامه نویس پرسیده میشه این کد چجوری داره میکنه در جواب میگه :

فقط خدا میدونه

مشخصا همه میدونن سناریو های زیادی وجود نداره واسه مسائلی که در نگاه اول حل کردنشون سخت بنظر میرسه، ولی این سوال بوجود میاد که چرا برنامه نویس باید اون رو مسئله رو با کدنویسی پیچیده تر کنه؟؟

 

برای همین دوست دارم راجع به چند تا اصل (بسیار کاربردی) صحبت کنم.اصولی که توی زندگی هم به کار میاد!

 

KISS

Keep ISimple, Stupid”

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

حرف اصلی و کلیش اینه که آقا جون بچت، کدت رو ساده نگهش دار و اگه پیچیدش کنی فک نکن خفن میشی بلکه یه احمق به تمام معنا میشی?

و یخورده جزئی ترش میگه که اکثر سیستما توی ساده ترین حالتشون عملکرد بهتری دارن پس باید سادگی یه هدف مهم برای کاری که میکنیم و کدی که میزنیم باشه!

 

YAGNI

You Aren’t Gonna Need It”

گاهی اوقات تیم های توسعه و برنامه نویسان در مسیر پروژه تمرکز خود را بر روی قابلیت های اضافه ی پروژه که "فقط الان به آن نیاز دارند" یا "در نهایت به آن نیاز پیدا میکنند" میگذارند.در یک کلام :اشتباه است!در اکثر مواقع شما به آن نیاز پیدا ندارید و نخواهید داشت. "شما به آن نیازی ندارید".

اصل YAGNI قبل از کدنویسی بی انتها و بر پایه ی مفهموم "آیا ساده ترین چیزی است که می تواند احتمالا کار کند" قرار دارد.حتی اگر YAGNI را جزوی از کدنویسی بی انتها بدانیم، بر روی تمام روش ها و فرآیند های توسعه قابل اجرا است.با پیاده سازی ایده‌ی "شما به آن نیازی ندارید" میتوان از هدر رفتن وقت جلوگیری کرد و تنها رو به جلو و در مسیر پروژه پیش رفت.

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

 

DRY

 

Don’t Repeat Yourself”

تا الان چندین بار به کد های تکراری در پروژه برخورد کرده اید؟ اصل DRY توسط Andrew Hunt و David Thomas در کتاب The Pragmatic Programmer پایه گذاری ده است.خلاصه ی این کتاب به این موضوع اشاره میکنید که "هر بخش از دانش شما در پروژه باید یک مرجع معتبر، یکپارچه و منحصربفرد داشته باشد". به عبارت دیگر شما باید سعی کنید رفتار سیستم را در یک بخش از کد مدیریت کنید.

از سوی دیگر زمانی که از اصل DRY پیروی نمیکنید، در حقیقت اصل WET که به معنای Write Everything Twiceیا We Enjoy Typing دامن گیر شما شده است! ( لذت بردن از وقت تلف کردن )

استفاده از اصل DRY در برنامه نویسی بسیار کارآمد است. مخصوصا در پروژه های بزرگ که کد دائما در حال نگهداری و توسعه است

ممکن است علاقه ای به رعایت اصل DRY نداشته باشید ولی اصول قبلی (YAGNI, KISS) را حتما بخاطر بسپارید.

 


نوشته شده توسط :

وحید صمدیان وحید صمدیان



دوشنبه, 22 شهریور 1400

تعداد بازديد : 984

برچسب ها : الگوی طراحی Design Pattern

3.0 ستاره