977
you are viewing a single comment's thread
view the rest of the comments
[-] magic_lobster_party@kbin.social 32 points 1 year ago* (last edited 1 year ago)

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.

[-] platypode@sh.itjust.works 12 points 1 year ago

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.

[-] TheChurn@kbin.social 21 points 1 year ago

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.

[-] platypode@sh.itjust.works 10 points 1 year ago

Fair enough, though I contend that for a common-case application like a database-backed REST API where the architecture is basically standardized there is no meaningful time difference between writing crappy code in a clean architecture and writing a crappy pile of spaghetti.

[-] magic_lobster_party@kbin.social 5 points 1 year ago

Ensuring all developers can continue putting out things quickly is equally (if not more) important.

[-] pixely@lemmy.world -1 points 1 year ago

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.

[-] steph@lemmy.clueware.org 1 points 1 year ago

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.

[-] agressivelyPassive@feddit.de 4 points 1 year ago

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.

this post was submitted on 17 Aug 2023
977 points (90.9% liked)

Programmer Humor

32355 readers
1170 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS