4 ms·
In my experience this is often possible by removing duplicated functionality into a shared implementation. That is by exchanging multiple features of linear com
by kelihlodversson 9y ago
In my experience this is often possible by removing duplicated functionality into a shared implementation. That is by exchanging multiple features of linear complexity into a single implementation. Due to being shared, that implementation will tend to have geometric complexity.
That means the duplication has to be highly significant and variations need to be few for it to pay off. ... And you'll better hope you have a good set of tests to verify everything is still working.
In most cases it's still a good idea, but it's still a case where you need to argue that you really need it, so it's no exeption at all.
- chewbacha 9y agoSounds like the perennial redundancy vs dependency struggle [0]. I do like the explanation in terms of linear vs geometric complexity though. [0] https://yosefk.com/blog/redundancy-vs-dependencies-which-is-worse.html https://yosefk.com/blog/redundancy-vs-dependencies-which-is-...
- reificator 9y agoThat's one way to do it. Another way is when the requirements change and you no longer need most of a feature.