"خودت تکرار نکن" (DRY) یک اصل توسعه نرم افزار است که با هدف کاهش تکرار کدها و تابعهها که احتمال تغییر آن وجود دارد، جایگزینی آن با انتزاعی هایی که احتمال تغییر کمتری دارند، یا استفاده از نرمال سازیهای که در مرحله اول از افزونگی جلوگیری می کند، است.
به زبان ساده، این اصل تلاش میکنه که از تکرار شدن کدها جلوگیری کنه و کارهایی مشابه رو به صورت انتزاعی پیاده سازی کنه. با این روش اگر خطایی در سیستم رفع شود بی شک تمام سیستم اصلاح خواهد شد.
واژه DRY که معادل خشک است، از کلمات Do not Repeat Yourself ایجاد شده. که کوتاه شده خودت تکرار نکن است. ما در اینجا به این اصل، اصل خشک میگیم. توضیحات کاملی در رابطه را اصل توسعه DRY در ویکی هست که میتونید به آن ارجاع کنید.
اصل خشک به این صورت بیان میشود که «هر دانشی باید یک بازنمایی واحد، بدون ابهام و معتبر در یک سیستم داشته باشد». این اصل توسط اندی هانت و دیو توماس در کتاب برنامهنویس عملگرا معرفی شده است. آنها آن را به طور گسترده ای برای شامل طراحیهای پایگاه داده، طرحهای آزمایشی، سیستم ساخت و حتی مستندات اعمال می کنند.
هنگامی که اصل خشک با موفقیت اعمال شود، اصلاح هر عنصر مستقل از یک سیستم نیازی به تغییر در سایر بخشهای منطقی نامرتبط ندارد. علاوه بر این، عناصری که از نظر منطقی به هم مرتبط هستند، همگی به طور پیشبینی شده و یکنواخت تغییر میکنند و در نتیجه هماهنگ میشوند. علاوه بر استفاده از روشها و برنامههای فرعی در کد خود، توماس و هانت به تولیدکنندههای کد، سیستمهای ساخت خودکار و زبانهای برنامهنویسی برای رعایت اصل خشک در لایهها معتقد هستند.
مبانی توسعه نرم افزار: خودت تکرار نکن