ฉันกำลังมองหาอุปมาอุปไมยหรืออุปมาอุปไมยที่สามารถอธิบายปัญหาของการเขียนโปรแกรมคัดลอกแปะกับผู้ที่ไม่ใช่โปรแกรมเมอร์ บางครั้งฉันทำการตรวจสอบโค้ด / ระบบสำหรับผู้มีโอกาสเป็นลูกค้าและหนึ่งในปัญหาทั่วไปที่ฉันเห็นคือโค้ดคัดลอกวางจำนวนมากมายทั่วฐานรหัสของพวกเขา มันเป็นสิ่งที่ฉันมักจะพูดถึงในบทวิจารณ์และทุกครั้งที่ฉันต้องอธิบายว่าทำไมถึงมีปัญหา (นี่เป็นเรื่องยากโดยเฉพาะอย่างยิ่งกับลูกค้าที่รู้เกี่ยวกับการเขียนโปรแกรมมากพอที่จะเข้าใจว่าการใช้ซ้ำนั้นเป็นสิ่งที่ดี การคัดลอกวางไม่ใช่รูปแบบการใช้ซ้ำที่ดี) เห็นได้ชัดว่าฉันสามารถ (และทำ) อธิบายปัญหาในแง่ของการบำรุงรักษาโค้ด แต่มันจะดีถ้าได้มีการเปรียบเทียบที่ดีและกระชับสำหรับปัญหานี้ที่จะตีบ้านด้วยโปรแกรมเมอร์ที่ไม่ใช่ โบนัสหากการเปรียบเทียบแสดงให้เห็นว่าเหตุใดการค้นหาและแทนที่ไม่ใช่วิธีที่มีประสิทธิภาพสำหรับปัญหานี้ ข้อเสนอแนะใด ๆ
เพื่อชี้แจง (ตามคำตอบของ Jaroslav ด้านล่าง) - ฉันไม่ได้พูดถึงการใช้ข้อมูลโค้ดที่นี่; สิ่งที่ฉันเห็น (รบกวนบ่อย) คือการคัดลอกและวางโค้ดอันกว้างใหญ่หรือโค้ดสิบบรรทัดเพื่อรับข้อมูลผู้ใช้บางส่วน (สมบูรณ์ด้วยคิวรี SQL แบบอินไลน์) วางลงในหน้า PHP หรือ ASP.NET หลายสิบหน้า ดังนั้นซ้ำรหัสจากที่อื่นในโครงการเดียวกัน
อัปเดต: มีคำตอบที่ดีมาก ๆ อยู่ที่นี่ ฉันได้อธิบายในความคิดเห็นว่าทำไมฉันถึงเลือกคำตอบของ Scott Whitlock แต่ฉันก็อยากจะแนะนำคำตอบแบบ whatsisname อย่างมากถ้าคุณติดต่อกับลูกค้าที่คุ้นเคยกับการผลิตเลย