Symptoms
CausesPeople create similar code to handle a similar situation, but don't realize the other code exists. What to DoHarmonize classes so that you can eliminate one of them.
PayoffReduces duplication. May also reduce size. May improve communication (by removing ambiguity about which approach to use). ContraindicationsSometimes the two classes can't be changed (e.g., if both are in different libraries). Each library may have its own vision for the same concept, but you may be left with no good way to unify them. |