توفیق حمزه‌ ئی
توفیق حمزه‌ ئی
خواندن ۲ دقیقه·۶ سال پیش

اصل طراحی نرم افزار DRY

همه ما با کدی سرو کار داریم که در جای مختلف اپلیکیشن استفاده میکنیم. اصل DRY(Don't Repeat Yourself) یعنی خودتو تکرار نکن استواره. هدف اصل DRY کاهش اطلاعات تکراری و بنا به wiki تعریف دقیقش میشه:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

"هر قطعه از دانش باید یک بازنمایی منحصر به فرد و بدون ابهام در یک سیستم داشته باشد."

این اصل توسط Andy Hunt و Dave Thomas تهیه شده که در کتاب اونو توی کتاب The Pragmatic Programmer به خوبی شرح دادن.


نقض DRY

ما تایپ کردن را دوست داریم "We enjoy typing" و یا به وقت تلف کردن همه ("Wasting everyone's time."). یعنی یک کد و یا منطق رو هی تکرار کنیم. مدیریت این کدها خیلی سخت خواهد شد مخصوصا اگه تغییری در کد ویا منطق ایجاد بشه باید همه جا تغییرات لازم رو انجام بدیم که اغلب برنامه نویس ها یه جایی رو فراموش میکنن و به اررور میخورین.


نوشتن کدها بر اساس DRY

برای دوری از نقض Dry اپلیکیشنتون رو به قسمت های مختلف تقسیم کنید. وظیفه تونه کد و منطق هاتون رو به یونیت های قابل استفاده کوچک بشه. یادتون نره که متد های طولانی ننویسید.


مزیت های DRY

کد کمتر, برنامه نویسی راحت تر. در وقتتون خیلی صرفه جویی میشه, ماندگاری بهتری داره و صد البته احتمال به اررور خوردن کم میکنه.

یکی از مثال های خوب برای اصل DRY هلپر ها (class helpers)هستن. که توی کتابخانه و فریمورک ها خیلی مورد استفاده قرار میگیرن.



هشدار

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

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

برنامه نویسیlaravelDesign Principle
برنامه نویس :)
شاید از این پست‌ها خوشتان بیاید