Saya mencari analogi atau metafora yang bagus yang bisa menggambarkan masalah pemrograman copy-paste untuk non-programmer. Saya kadang-kadang melakukan review kode / sistem untuk klien potensial, dan salah satu masalah umum yang saya lihat adalah sejumlah besar kode copy-paste di seluruh basis kode mereka. Ini adalah sesuatu yang secara rutin saya panggil di ulasan, dan setiap kali saya harus menjelaskan mengapa ini menjadi masalah (ini sangat sulit dengan klien yang tahu cukup banyak tentang pemrograman untuk memahami bahwa menggunakan kembali adalah hal yang baik, tetapi tidak cukup untuk memahami mengapa copy-paste bukanlah bentuk penggunaan kembali yang baik). Jelas, saya dapat (dan memang) menjelaskan masalah dalam hal pemeliharaan kode, tetapi akan menyenangkan untuk memiliki analogi yang baik dan ringkas untuk masalah ini yang akan menyentuh rumah dengan non-programmer. Bonus jika analoginya menggambarkan mengapa pencarian-dan-ganti bukanlah solusi yang efektif untuk masalah ini. Ada saran?
Hanya untuk memperjelas (berdasarkan jawaban Jaroslav di bawah) - Saya tidak berbicara tentang menggunakan cuplikan kode di sini; apa yang saya lihat (sering mengganggu) adalah menyalin dan menempelkan petak kode yang luas, atau sepotong kode sepuluh baris untuk mendapatkan beberapa data pengguna (lengkap dengan inline SQL query) disisipkan ke dalam puluhan halaman PHP atau ASP.NET. Jadi, duplikat kode dari tempat lain di proyek yang sama.
Pembaruan: Ada beberapa jawaban yang sangat bagus di sini; Saya telah menjelaskan dalam komentar mengapa saya memilih jawaban Scott Whitlock, tetapi saya juga akan sangat, sangat merekomendasikan jawaban whatsisname jika Anda berurusan dengan pelanggan yang akrab dengan manufaktur sama sekali.