Methods should be interchangeable if they do the same.
Problems
Missed Polymorphism
Coupling
IFs / Type check Polluting.
Names coupled to types.
Solutions
Rename methods after what they do.
Favor polymorphism.
Sample Code
Wrong
Right
Detection
This is a semantic mistake. We could add a warning for similar method names on Polymorphic classes.
Tags
- Polymorphic
Conclusion
Naming is very important. We need to name after concepts and not after accidental types.
Relations
More info
If you have three pet dogs, give them names. If you have 10,000 head of cattle, don't bother. Nowadays, the idea of giving a name to every file on your computer is ridiculous.
David Gelernter
This article is part of the CodeSmell Series.