Legacy code:
-
that’s a fallback from the 80ies…
-
this gets never executed…
-
yet another undefined variable…
-
ohh, that’s clever!
- Jeffery wtf is this?
- ok so why didn’t we remove this from the codebase!?
- define the variable please I’m begging for just a smidge of readability!!! … Oh that’s actually remarkably clever
-
People that use “code” in its plural form really grind my gears
Often when I ask “why” too many times, it’s because the coder chose the most convoluted approach to the problem.
Like when someone inherited an entire class just to access a single method, but it turned out he actually didn’t need that method, so he added an extra if statement in that method and a Boolean flag so it can do the thing he actually wanted.
And this was someone who consider himself a senior programmer.
I’ve been tasked with updating some code a senior programmer (15+ years experience, internally awarded, widely considered fantastic) who recently left the company wrote.
It’s supposed to be a REST service. None of the API endpoints obey restful principles, the controller layer houses all of the business logic, and repositories are all labeled as services–and that’s before we even get into the code itself. Genuinely astounding what passes for senior-level programming expertise.
I have to deal with a similar guy. He reports directly to the COO and is considered an expert in his field.
If I wrote his code in my former job, my boss would have asked me, if I’m having problems at home.
Countless variables named tmp, i, j, k, x, value, etc., atrocious error handling (Java, he does no null chess, but simply wrap everything in a try/catch nullpointer block), and tons of spelling mistakes.
Oh and tests are evil.
In many cases, getting something out quickly is more valuable than having it be clean.
Part of being a senior is knowing when fast is more important than perfect. Not saying your senior did everything right, just that a single example of someone’s code isn’t enough to judge the value of a person to an organization.
Forewarning : ops here, I’m one of the few the bosses come to when the “quick code” in production goes sideways and the associated service goes down.
soapbox mode on
Pardon my french but that’s a connerie.
Poorly written code, however fast it has been delivered, will translate ultimately into a range of problems going from customer insatisfaction to complete service outage, a spectrum of issues far more damageable than a late arrival on the market. I’d add that “quick and dirty code” is never “quick and dirty code with relevant, automated, test coverage”, increasing the likelihood off aforementioned failures, the breadth of their impact and the difficulty to fix them.
Coincidentally , any news about yet another code-pissing LLM bothers me a tad, given that code-monkeys using such atrocities wouldn’t know poorly written code from a shopping list to begin with, thus will never be able to maintain the produced gibberish.
Ensuring all developers can continue putting out things quickly is equally (if not more) important.
Not always. It can be perfectly reasonable to implement something in a quick and dirty way to get it out there with a view to either kill it off (eg if it doesn’t get adopted by users) or re-write before it needs to be extended. The key is having the awareness when putting yourself in that position.
also
what kind of an idiot wrote this… oh… i did
Man this sub just isnt funny
So post something funny. Or just post something. Sitting in the back yelling “this sucks” isn’t going to help.
When you are getting watermarked Big bang theory screenshots, you know something needs to change
Bazinga!!
laugh track
DAE think TBBT = bad?