2.22 Повторное использование
В процессе выделения небольших задач часто выясняется, что некоторые из них уже были решены: разработчиком, другим производителем ПО (поставщиком библиотеки) или разработчиками стандартной библиотеки языка. Иногда (особенно это касается кода, написанного командой) решение нужно слегка видоизменить (обобщить), чтобы его можно было использовать повторно.
Повторное использование экономит время на решении тех же задач, на понимании стандартных решений, на поиске и исправлении ошибок.
Даже если в повторно используемом коде нашлась ошибка, ее потребуется исправить только один раз — и все ее проявления исчезнут.
Для ряда систем повторное использование может являться критерием внешнего качества. Обычно это фактор внутренний. Необходимо проектировать систему так, чтобы все ее компоненты могли быть легко использованы повторно.
Одно из самых страшных зол — дублирование кода. И не только кода: дублирование идей, проектных решений, понятий — все это вредит общему делу.
ООП очень помогает при повторном использовании кода: наследование и полиморфизм — эффективные инструменты для решения таких задач.