"This phrase comes from a student of mine named Boon. She always said that if you copy code from one place and paste it into another, you are obviously creating redundant code. She calls it "inheriting from the Clipboard," which I think it pretty clever and memorable.<p>When you copy code, ask yourself why you are doing it—and if the same operation is needed in two places, doesn’t this indicate that you need a service in your system?<p>My boss and mentor Alan Shalloway puts it this way: There are three numbers in software: 0, 1, and infinity. 0 represents the things we do not do in a system (we do those for free). 1 represents the things we do once and only once. But at the moment we do something twice, we should treat it as infinitely many and create cohesive services that allow it to be reused."<p>It actually came from a 2009 book called "Emergent Design: The Evolutionary Nature of Professional Software Development". Somewhat goes against the grain of the more common wisdom of taking the bullet once or twice.
https://en.wikipedia.org/wiki/Rule_of_three_(computer_programming)
Nice.<p>The French translation of "copy and paste" is "copier-coller". A friend and colleague calls it "copier-déconner", where "déconner" is a word play on "coller" that means "to screw up", so "copy and screw up".