Chapter 8. Duplication

Duplication has been recognized for more than 30 years as the bane of the programmer’s lot. How does duplication cause problems?

• There is more code to maintain (a conceptual and physical burden).

• Parts that vary are buried inside the parts that stay the same (a perceptual problem—it’s hard to see the important stuff).

• Code variations often hide deeper similarities—it will be hard to see the deeper solution hidden within all the similar code.

• There’s a tendency to fix a defect in one place and leave identical defects elsewhere unfixed. When you see two variations of something, it’s hard to know which variation is the right pattern or if there’s a good reason for the differences.

David Parnas introduced the idea ...

Get Refactoring in Ruby now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.