Our Ruby code base should be a case study on exactly this. Inheritance 5 levels deep, but then also composed of multiple other objects with similar inheritance levels. It’s absolute insanity.
I also find a lot of the times that inheritance is abused just to get rid of explicit branching logic (i.e. people don’t like using if statements for some reason).
Can you explain what you mean by this?






















