3 ms·
> Because the previous design was not comprehensive enough to meet subsequent requirements. YAGNI. Hesitation to avoid unnecessary work, sure. But not to anti
by quietbritishjim 3y ago
> Because the previous design was not comprehensive enough to meet subsequent requirements.
YAGNI.
Hesitation to avoid unnecessary work, sure. But not to anticipate future requirements.
The number of times I've had to fight a fancy design that left expansion points / abstractions for future features that were never needed (or not in the form the designers expected) enormously outnumber the times any such thing was useful.
Just make the code do its current job in the simplest way possible. That's the easiest design to expand later.
- twh270 3y agoThere's "simple" and there's "naively simple". I agree 100% with YAGNI, but you can also wedge yourself into a corner with a design that allows no room for growth unless you scrap it and start from scratch.