Я ищу хорошую аналогию или метафору, которая могла бы проиллюстрировать проблемы программирования с копированием и вставкой для непрограммистов. Я иногда делаю обзоры кода / системы для потенциальных клиентов, и одной из общих проблем, которые я вижу, являются огромные объемы кода копирования-вставки по всей их кодовой базе. Это то, что я обычно называю в обзорах, и каждый раз мне приходится объяснять, почему это проблема (это особенно сложно для клиентов, которые достаточно хорошо разбираются в программировании, чтобы понять, что повторное использование - это хорошо, но недостаточно, чтобы понять, почему copy-paste не является хорошей формой повторного использования). Очевидно, что я могу (и могу) объяснить проблему с точки зрения обслуживания кода, но было бы неплохо иметь хорошую, краткую аналогию для этой проблемы, которая встречалась бы с непрограммистами. Бонус, если аналогия иллюстрирует, почему поиск и замена не является эффективным решением этой проблемы. Какие-либо предложения?
Просто чтобы уточнить (основываясь на ответе Ярослава ниже) - я не говорю об использовании фрагментов кода здесь; То, что я вижу (очень часто), - это копирование и вставка огромного количества кода или фрагмента кода из десяти строк, чтобы некоторые пользовательские данные (в комплекте с встроенным SQL-запросом) вставлялись в десятки страниц PHP или ASP.NET. Итак, дублируйте код из другого места того же проекта.
Обновление: здесь есть несколько действительно хороших ответов; В комментариях я объяснил, почему я выбрал ответ Скотта Уитлока, но я также очень рекомендую ответ whatsisname, если вы имеете дело с клиентами, которые вообще знакомы с производством.