6 ms·
I used to match patchwork quilts out of plugins, different HTML widgets, and try to make use of pre-made frameworks for CSS in the past. I always felt like I wa
by err4nt 9y ago
I used to match patchwork quilts out of plugins, different HTML widgets, and try to make use of pre-made frameworks for CSS in the past. I always felt like I was 80% of the way finished before I started.....but the hard part was building the other 80%.
A few years ago I flipped the way I built stuff, preferring small, self-built pieces of code only I had authored, and not only was our code smaller and easier to maintain, it also significantly dropped the amount of bugs and conflicts we were having.
The problem that often happens with pre-built, well-tested solutions, is that they often only partly solve what you need to do. Edge cases might be the only cases you have, it's often better to get the one tailor made for solving your exact problem.
- nickthemagicman 9y agoI've found the exact opposite at every job I've had. Typically pre-build solutions do WAY more than you need from them, and you can make wrappers for any very rare edge cases they don't solve which Ive found to be few and far between. Dependency managers go a long way toward making the patchwork nature of diverse libraries..manageable. Also, I've found solutions custom rolled under pressure have more bugs and issues and theres never enough time to correctly debug, test, and QA before you're on to the next project. However, CSS and HTML widgets may not lend themselves to libraries as easily as imperative programming languages. You also, may just be solving more complex problems that require much more specialized libraries! Just glad you found a solution that works!
- err4nt 9y agoAh see what I end up doing is solving the problem and thinking deeply about what I need our solution to do, and more importantly, figuring out exactly what we don't need our solution to do. Once I've solved the same problem about 4 or 5 times, I end up 'standardizing' the solution into a prototype plugin, which usually goes through 1 or 2 total rewrites, and by the time I've got the plugin resulting from that process, usually it's precisely what we need, and had all the kinks worked out. I realize the irony here, but I release these solutions into open source and re-use them. And I know they're available for others to use and benefit from, and I fully understand why somebody like me might not actually use them directly haha. I hope people at least read my solutions in a literary sense and consider them while rolling their own solution that directly meets their own needs.
- nickthemagicman 9y agoGlad you have the free time to do that! I work for an extremely fast moving biz and don't! And thanks for your contributions to OSS!
- psyc 9y agoNaturally it depends on the situation and trade-offs, but I agree with what you wrote pretty often. I summarize all this as: "Software is not really made of cogs."