Kopyala-yapıştır programlamanın problemlerini programcı olmayanlara gösterebilecek iyi bir benzetme veya metafor arıyorum. Zaman zaman potansiyel müşteriler için kod / sistem incelemeleri yapıyorum ve gördüğüm en yaygın sorunlardan biri kod tabanlarının her yerinde çok sayıda kopyala-yapıştır kodu. Bu, incelemelerde düzenli olarak dile getirdiğim bir şey ve bunun neden bir sorun olduğunu açıklamak zorunda olduğum her zaman (bu özellikle, yeniden kullanımın iyi bir şey olduğunu anlamak için programlama hakkında yeterli bilgiyi bilen müşteriler için zor, ancak bunun nedenini anlamak için yeterli değil) kopyala-yapıştır iyi bir yeniden kullanım şekli değildir). Açıkçası, sorunu kod bakımı açısından açıklayabilirim (ve yapabilirim), ancak programcı olmayanlarla eve varacak bu sorun için iyi ve özlü bir benzetme yapmak güzel olurdu. Analoji, ara ve değiştir işlevinin neden bu sorun için etkili bir çözüm olmadığını gösteriyorsa bonus. Baska öneri?
Sadece netleştirmek için (aşağıdaki Jaroslav'nın cevabına dayanarak) - Burada kod parçacıklarını kullanmaktan bahsetmiyorum; Gördüğüm (rahatsız edici sıklıkta) düzinelerce PHP veya ASP.NET sayfalarına yapıştırılan bazı kullanıcı verilerini (satır içi SQL sorgusu ile birlikte) almak için geniş kod kodlarının veya on satırlık bir kodun kopyalanması ve yapıştırılması. Bu nedenle, aynı projenin herhangi bir yerindeki kodu çoğaltın.
Güncelleme: Burada gerçekten çok iyi cevaplar var; Scott Whitlock'un cevabını neden seçtiğimi açıklamalarda açıklamıştım, fakat aynı zamanda, imalata aşina olan müşterilerle ilgileniyorsanız, whatsisname'in cevabını şiddetle tavsiye ediyorum.