Inheritance Under the Hood
When deciding between refactoring strategies, indeed, when deciding between design strategies in general, it’s useful to ask the question: “What will happen if I’m wrong?”
- Sandi Metz, Practical Object-Oriented Design in Ruby, Chapter 6