Redundant Code به بخشهایی از کد گفته میشود که تکراری، بلااستفاده یا برای رسیدن به نتیجه موجود غیرضروری هستند. برای مثال، پیادهسازی یک منطق یکسان در چند فایل میتواند باعث شود اصلاح یک رفتار نیازمند تغییر چند محل باشد.
تکرار کد با افزونگی داده (Data Redundancy) یکی نیست. گاهی تکرار داده برای کارایی یا دسترسپذیری آگاهانه انجام میشود، اما کد تکراری معمولاً هزینه نگهداری و احتمال ناسازگاری را افزایش میدهد.
اگر محاسبه مبلغ مالیات در پنج کنترلر کپی شده باشد، تغییر قانون مالیات به پنج اصلاح جدا نیاز دارد. انتقال این منطق به یک سرویس مشترک، احتمال رفتار ناسازگار را کاهش میدهد.
کد تکراری همیشه بد نیست
دو تکه کد ممکن است در لحظه شبیه هم باشند، اما دلیل تغییر یکسانی نداشته باشند. Refactoring عجولانه برای حذف هر تکرار کوچک، Coupling جدیدی ایجاد میکند. هدف کاهش هزینه نگهداری است، نه صرفاً کاهش تعداد خطوط.