Hacker News new | ask | show | jobs
by arnorhs 4367 days ago
(this is probably not going to be a very popular answer here, since most people enjoy making things abstract, and feel like they're creating value)

Making things too abstract, too early, is usually a bad sign. In most cases, the most most specific and straight forward solution to a problem is the best one.

There's definitely cases where you're simplifying things by making them more abstract and reusable (but making something reusable before you need to reuse it is a waste of time) -- another good case is where you're using the principle of separation of concerns.

I think when I started developing I made everything very abstract, b/c all the books you read would also tell you that was a good thing.

It's not. Until you need to, at least.

1 comments

Yep, it's that balance between abstraction and indirection.

Abstraction can be a great tool, but it comes with the cost of added indirection.

You want to aim for the sweet spot in the middle somewhere.