5 ms·
This snippet has been constantly criticized and somehow it makes me think that the people who loudly complain about it have never worked in any kind of big comp
by outime 5y ago
This snippet has been constantly criticized and somehow it makes me think that the people who loudly complain about it have never worked in any kind of big company - which is fine but it shows a lack of empathy, experience or both. You can go to any big company around the world and you'll find duct tape because you know what, if it works, it isn't terrible to use/update and doesn't leak millions in lost revenue then there's no valid reason to spend dev time on that.
This most likely was a temporary solution that grew over time and was left like it, they just kept adding new combinations. It works. If you want to add a new combination you just add it and run a migration (or similar, I've not worked on Twitch but I assume it's not the most difficult thing in the world if it's still like this).
I understand that this can feel like an itch that you really need to scratch (I also feel it) but if you literally see the source codes of any big company you'll find stuff that anyone can criticize from their chair with little effort. Let's now go build a tremendously successful platform like Twitch without cutting a single corner ever and see how that goes.
- jalino23 5y agothis is true, the same people who complained about this are prob the one with least experience
- vinay427 5y agoTo be fair, at least as of this writing, TFA does end with this which seems to align with your view: > The programmers who made that probably know all of that, or at least that their implementation isn’t ideal They made that not because they are stupid or unprofessional, rather because they are employees working under pressure coming from their managers, bosses, and their deadlines. What was suggested as a “temporary” solution, turned into the permanent.
- PragmaticPulp 5y ago> because you know what, if it works, it isn't terrible to use/update and doesn't leak millions in lost revenue then there's no valid reason to spend dev time on that. Really bad code grinds progress to a halt when developers have to spend all of their time fixing tech debt or working around fragile codebases to get anything done. However, I don't see anything in this code that would match that description. In fact, anyone can take one look at this and know exactly what it does and exactly how to modify it. Counterintuitively, perfectly good code also grinds progress to a halt if developers become too focused on doing things the "right" way instead of shipping reasonable code that works. Developers who get lost pursuing a platonic ideal of the perfect code will be perpetually disappointed inside of real-world constraints. Perfect is the enemy of good. It's definitely not fair to criticize a single snippet extracted from an entire company's code base. It's turning into a cheap way to dunk on a company from the sidelines while ignoring that the company has done a good job of scaling a video delivery platform and community to a massive number of users.
- UncleMeat 5y agoThis really depends. There is tech debt and there is tech debt. Sometimes you've got bad code that is still well isolated so the pain and suffering it causes is understood and contained. Sometimes you've got bad code that is poorly isolated and it causes unexpected and strange problems all the time. This code doesn't feel like the latter.
- AmericanChopper 5y agoI thought the funny bit was that we’ve all done something like that before…
- TedDoesntTalk 5y agoTechnical debt
- _boffin_ 5y agoI'm at a BigCo. right now and yeah, this stuff is in the codebase, but it's there because of laziness an no other reason. Your comment is making me irrationally angry. This code example should be lambasted into eternity. This should have been converted into a database table many eons ago. By doing so, it would save on stories, testing, builds, and more. They would be able to be more reactive to changes and wouldn't have had to push through a new build to make a single or multiple changes.
- randmeerkat 5y ago> This snippet has been constantly criticized and somehow it makes me think that the people who loudly complain about it have never worked in any kind of big company - which is fine but it shows a lack of empathy If they hadn’t so egregiously failed as a technology company and betrayed their user’s trust then maybe people would have more empathy, but no, they pursued profits and ignored security and stability. I have no empathy for this.