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