DEV Community

Discussion on: My 5 Favorite Software Design Principles 

Collapse
 
ssimontis profile image
Scott Simontis

Context is crucial too...you can have the same code show up in different places with completely different contexts which looks repetitive, but it makes no sense to de-duplicate something that crosses system boundaries.

Collapse
 
jeremycmorgan profile image
Jeremy Morgan

Absolutely right. Sometimes you can have the exact code verbatim and working off two different input/outputs. One of those implementations may change without the other so by de-duping and putting into a method you can be creating a regression.

This is why software engineering is so fun! (not saying it sarcastically)

Thread Thread
 
jsco profile image
Jesco Wuester

duplication is better than the wrong abstraction :D

Thread Thread
 
jeremycmorgan profile image
Jeremy Morgan

most of the time, yes