4 ms·
I feel this at my current job. I’m currently tearing down a “well abstracted” api and instead exposing the underlying tables more directly because no one knows
by efxhoy 4y ago
I feel this at my current job. I’m currently tearing down a “well abstracted” api and instead exposing the underlying tables more directly because no one knows how it works and adding new features to it is a PITA. At a glance it’s a lovely api but the implementation is so full of neat magic and layer upon layer of abstractions that it’s impossible to follow what it’s actually doing.
This is no fault of the original authors, they are great devs and tried their best but even they now recognize that it’s not working out.
I still think you should write good abstractions for any large project, the thing is that they are very difficult to get right from the start. And as OP says, it’s easy to get lost in elegance-creating busy work, especially if you enjoy it.
I’m terrible at it so I always build things as barebones as I can get away with. If I try to abstract it there’s usually been a new usecase 6 months down the line that completely breaks the abstraction anyway.