يوجد العديد من الأسباب لظهور تكرار الرموز، ومن ضمنهم:
- برمجة النسخ واللصق، حيث يتم نسخ جزء من الكود "لأنه يعمل". وفي معظم الحالات تتضمن تلك العملية تعديلات بسيطة في الكود المنسوخ مثل إعادة تسمية المتغيرات أو إدخال/حذف جزء من الكود.
- وجود وظيفة مماثلة بشكل كبير لوظيفة أخرى مطلوبة في برنامج أخر فيكتب المبرمج بشكل مستقل كود مشابه لما هو موجود سابقاً.
- سرقة فكرية، حيث يتم نسخ الكود بدون إذن أو إسناد.
Source: wikipedia.org