Ich suche nach einer guten Analogie oder Metapher, die die Probleme des Copy-Paste-Programmierens für Nicht-Programmierer veranschaulichen könnte. Ich führe gelegentlich Code- / Systemüberprüfungen für potenzielle Kunden durch, und eines der häufigsten Probleme, das ich sehe, sind große Mengen an Code, der durch Kopieren und Einfügen in die gesamte Codebasis eingefügt wird. Dies ist etwas, das ich regelmäßig in den Reviews erwähne, und jedes Mal muss ich erklären, warum dies ein Problem ist (dies ist besonders schwierig bei Kunden, die gerade genug Programmierkenntnisse haben, um zu verstehen, dass Wiederverwendung eine gute Sache ist, aber nicht genug, um zu verstehen, warum Kopieren-Einfügen ist keine gute Form der Wiederverwendung. Natürlich kann (und kann) ich das Problem in Bezug auf die Codewartung erklären, aber es wäre schön, eine gute, prägnante Analogie für dieses Problem zu haben, die sich bei Nicht-Programmierern durchsetzt. Bonus, wenn die Analogie zeigt, warum Suchen und Ersetzen keine effektive Lösung für dieses Problem ist. Irgendwelche Vorschläge?
Nur zur Verdeutlichung (basierend auf Jaroslavs Antwort unten): Ich spreche hier nicht von der Verwendung von Code-Snippets. Was ich sehe (beunruhigend oft), ist das Kopieren und Einfügen riesiger Codeschwaden oder eines zehnzeiligen Codes, um einige Benutzerdaten (einschließlich einer Inline-SQL-Abfrage) in Dutzende von PHP- oder ASP.NET-Seiten einzufügen. Kopieren Sie also Code von einer anderen Stelle im selben Projekt.
Update: Hier gibt es einige wirklich gute Antworten; Ich habe in den Kommentaren erklärt, warum ich die Antwort von Scott Whitlock gewählt habe, aber ich würde die Antwort von whatsisname auch wärmstens empfehlen, wenn Sie mit Kunden zu tun haben, die mit der Herstellung überhaupt vertraut sind.