افزونگی(تکرار غیرضروری یا Redundant code) به تکرار اطلاعات بین یک یا چند فایل میگویند. افزونگی تکرار ذخیرهسازی مقادیر یک یا بیش از یک صفت است. مثلا اگر حاصل یک معادله چندین بار محاسبه شود یا یک آرایه چندین بار مرتب (sort) شود و یا حتی دستوری را برای محاسباتی اجرا کنیم اما هیچگاه از این نتیجه از محاسبه استفاده نشود.
افزونگی طبیعی از ماهیت دادهها است، مثلا اشیا از یک جنس صفتی مشترک دارند، مثلا وضعیت انتشار مطالب، یک صفت مشترک دارند یا کارمندان یک شرکت اکثرا کارمند هستند (در مقایسه با مدیران و سایر ردهها).
البته گاهی این افزونگی به صورت عمدی و برای رسیدن به هدف دیگری مثلا افزایش سرعت (با index کردن) یا دسترسی راحتتر به محتوا (تکرار عنوانها در فهرست مطالب) است که به این نوع افزونگی، افزونگی تکنیکی میگویند.
نوع دیگری از افزونگی نیز وجود دارد که نه طبیعی است و نه تکنیکی و ناشی از رهیافت انتخاب شده برای طراحی و تولید سیستمهای کاربردی است. مثلا در دو مجموعه مجزا یا سلسله مراتبی قرار است به دادههای کاربر دسترسی داشته باشند ولی هر کدام با هدف کاربردی مجزا. به عنوان مثال فرض کنید دپارتمان مالی برای امور مالی و دپارتمان نیروی انسانی برای اهداف تشویق و تنبیه به اطلاعات شخصی و کاری کاربر نیاز دارند و میخواهند در دو مجموعه مجزا نگهداری شوند، این تکرار دادهها نیز نوعی افزونگی است.