3 ms·
Never add any extension points you don't already need, but design as if you could suddenly be tasked with adding all kinds of weird ones, but mostly without spe
by mickronome 9y ago
Never add any extension points you don't already need, but design as if you could suddenly be tasked with adding all kinds of weird ones, but mostly without spending any significant time.
Try to make sure that reasonable extensions are cheap to add, and that even some of the more unreasonable ones are at least possible without complete system redesign.
This should not significantly impact either implementation time, or design time. But it will almost certainly make you avoid some really bad design choices that make quite plausible changes extremely expensive.
Good design is more about avoiding obvious traps than finding a path to nirvana.