Remix.run Logo
andix 10 days ago

I'm also into building abstractions, but I always try to leave "escape hatches" in place. I try to build my abstractions out of reusable components, that can also be used independently.

If the abstraction doesn't fit a new problem, it should be easy to reassemble the components in a different way, or use an existing abstraction and replace some components with something that fits this one problem.

The developers shouldn't be forced to use the abstractions, they should voluntarily use them because it makes it easier for them.

jsrcout 9 days ago | parent [-]

> it should be easy to reassemble the components in a different way

An underappreciated value. I call this composability and it is one of my primary software development goals.