In one of my previous posts – YAGNI is king – I advocated the idea of not anticipating future when it comes to developing features.
I got some feedback that I want to discuss: YAGNI applies to features, not design. When designing software, you have to anticipate the future. Therefore, sometimes you have to give up on YAGNI if you want a good design.
In other words: on a pull request, when you see an extra piece of code, don’t automatically assume it violates YAGNI. Maybe it’s for design purposes.
I take the point, but also have to add something on my defense.Continue reading