Дублирование кода.
Два фрагмента кода выглядят почти одинаковыми.
##Signs and Symptoms
Два фрагмента кода выглядят почти одинаковыми.

##Reasons for the Problem
В большинстве случаев дублирование возникает тогда, когда в проекте работает несколько человек, причём над разными его частями. Они работают над похожими задачами, но не знают, что коллега уже написал похожий код, который можно использовать вместо написания своего.
Встречается и косвенное дублирование, когда конкретные участки кода отличаются внешне, хотя и выполняют одну и ту же задачу. Такое дублирование бывает довольно сложно обнаружить и исправить.
В отдельных случаях дублирование создаётся намеренно. Зачастую, в спешке, когда поджимают сроки сдачи проекта. Начинающий программист видит в уже написанном коде фрагмент, выглядящий «почти так, как нужно» и не может устоять перед соблазном просто скопировать код куда-то в другое место (и так десяток раз).
А в самых запущенных случаях программист просто слишком ленив, чтобы избавить код от дублирования.
##Payoff
-
Объединение дублирующего кода позволяет улучшить структуру кода и уменьшить его объём.
-
Это, в свою очередь, ведёт к упрощению и удешевлению поддержки кода в будущем.
