Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

3
  • This general rule has been given a name: YAGNI. Commented Mar 30, 2022 at 12:58
  • Right, but I guess for this to apply you either need to be sure that a more complex solution is never going to be needed, or there is a possible migration from the simple to the more complex solution if it ever becomes necessary. Commented Mar 30, 2022 at 14:08
  • I'm not saying you should use a bad or non-expressive design. I'm just saying don't introduce abstractions that don't help you now. Use the best and simplest design for your current case. Don't, in general, do things just out of habit, or a sense of "cleanliness", or because of something you think you will need later. Easier said that done, sure, but such is software design. Commented Mar 30, 2022 at 19:35