اصل DRY و یا Don’t Repeat Yourself در توسعه نرم افزار

یکی دیگر از اصول بسیار مهم در توسعه نرم‌افزارهای موفق اصل DRY می باشد. این واژه سرنام عبارت Don’t Repeat Yourself است. در رابطه با این موضوع می توانید در بسته ی آموزش ویدئویی کدنویسی تمیز: نوشتن کد برای انسان ها و بسته ی آموزش ویدئویی اصول کدنویسی با کیفیت بالا اطلاعات بیشتری را کسب کنید. بر اساس اصل DRY یک نرم افزار نباید کد مربوط به یک رفتار و یا Behavior را در چندین مکان مختلف ایجاد کند. این موضوع باعث به وجود آمدن خطاها خواهد شد. دلیل این قضیه نیز در این موضوع قرار گرفته است که با تغییر در نیازمندیها احتمالاً نیاز به تغییر دادن کد ها می باشد. بنابراین اگر شما یک رفتار را در چند قسمت مختلف برنامه لحاظ کرده باشید، احتمال فراموش کردن تغییر دادن برخی از آن قسمت ها وجود دارد. این موضوع باعث می‌شود تا رفتار سیستم غیر سازگار و یا inconsistent بگردد.

به طور کلی copy paste کردن کد که تحت عنوان Code Duplication نیز از آن یاد می‌شود یک code smile و یا بوی بد کد به حساب می‌آید که در بسته ی آموزش ویدئویی ریفکتورینگ در سی شارپ در رابطه با آن مفصل تر صحبت کرده‌ایم. پس به جای ایجاد Code Duplication سعی کنید رفتار مورد نظر را در یک programming construct و یا سازه برنامه نویسی کپسوله کنید و در و از آن در قسمتهای مختلف برنامه استفاده بفرمایید. در واقع تمامی کنترل آن رفتار مورد نظر در اختیار programming construct لحاظ شده قرار خواهد گرفت. در این جمله منظور از programming construct می‌تواند یک متد، یک کلاس و حتی یک Struct باشند. حال با ایجاد تغییر در یک قسمت برنامه که همان programming construct ساخته شده می باشد می توانید رفتار برنامه را تغییر داده و عملاً نیازی به ایجاد تغییر در چندین قسمت برنامه ندارید. موضوع مهم دیگر عدم مرتبط کردن رفتارهای می باشند که به طور تصادفی تکراری هستند. برای مثال فرض کنید دو Constant متفاوت برای دو عملکرد کاملاً منحصر به فرد دارید که به طور تصادفی نام های یکسانی دارند. در این شرایط نباید یکی از آنها را حذف کرده و فقط از یکی استفاده کنید. چرا که این دو Constant هرچند نام های یکسان دارند اما در مکان‌های مختلف برنامه استفاده می‌شوند و مفاهیم متفاوتی را نیز ارائه می دهند.