who's going to maintain your reinvented wheel
That is exactly the same question i have. For all modules, both the ones developed in house and the ones maintained by a third party that i just download from CPAN.
and will they end up calling your code "garbage" too?
Maybe? But that hasn't happened in the last decade or so.
Mojo::UserAgent
No. It doesn't fit into the way my cyclic executives are designed (which i have used in producion code for 15+ years).
And Mojo::UserAgent has an astonishingly ugly syntax, looks like JavaScript. Yes, i develop in JS, too, and yes, i am forced to use Promises, and yes that's also an ugly syntax.
Happy?
| [reply] |
Happy?
No, because the point was to try and push you towards showing or gaining some insight of the issues with your attitude and approach. In your post you basically said "I don't trust others code, it wouldn't work anyway, plus did I mention it's ugly too?" No one said your code was garbage, you could write the most beautiful and functional code, but it would still be a reinvented wheel. We're not talking about some custom protocol here, this is a HTTP client, CPAN is already littered with the corpses of unmaintained, buggy, reinvented HTTP clients. The harsh realtiy is that even if you release it to CPAN, most likely you'll be the only user of that module, everyone else will continue to use the de facto standard modules that already exist and are used in all the tutorials out there and that have communities and are already maintained. That means that when you're no longer around to maintain your code, someone else will have to take over and maintain your business-critical reinvented wheel, and chances are good that they will curse you for not using a standard off the shelf module no matter how good your code is. If you just wanted to show off some cool code you wrote that'd be one thing, but then you explained this is production level payment handling code. Sorry, but your time is better spent on figuring out how to refactor your existing code base to plug in one of the existing modules.
</rant>
| [reply] [d/l] |