this post was submitted on 24 Oct 2023
699 points (97.6% liked)

Programmer Humor

19551 readers
1014 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
all 50 comments
sorted by: hot top controversial new old
[–] ryan@the.coolest.zone 136 points 1 year ago (3 children)

Let him play in the legacy code. You can just hose him off later before letting him back into the office so he doesn't track it everywhere.

[–] ISometimesAdmin@the.coolest.zone 62 points 1 year ago (2 children)

Unfortunately if you let Junior play in legacy code once, it'll learn some nasty habits and make more of it from scratch, usually when you're trying to sleep.

[–] MonkderZweite@feddit.ch 5 points 1 year ago* (last edited 1 year ago)

That's what the line represents. So they can pull you if you do something nasty.

[–] mbp@lemmy.sdf.org 4 points 1 year ago

God, I would love that so much

[–] MamboGator@lemmy.world 121 points 1 year ago (1 children)

The junior doesn't know that these aren't unused functions. They're load bearing functions.

[–] sbv@sh.itjust.works 26 points 1 year ago (1 children)
[–] Killing_Spark@feddit.de 4 points 1 year ago
[–] bappity@lemmy.world 52 points 1 year ago* (last edited 1 year ago) (2 children)

me when first starting out at a job commenting everything I can
VS
me a couple years in completely lost because I never updated the comments and now none of them make any sense whatsoever

[–] xmunk@sh.itjust.works 57 points 1 year ago (5 children)

Commenting well is a highly advanced skill. I generally prefer no comments on code since it's less likely to confuse people and I'll merrily purge auto-doc comments and anything like

// getId() returns an id

That comment has negative value.

[–] kubica@kbin.social 23 points 1 year ago

I can't help it, I always get the mental image of hands clapping sarcastically when I see something like that.

[–] platypode@sh.itjust.works 9 points 1 year ago (3 children)

In my experience refactoring lots and lots of crappy code left by devs long gone, a dev who can write useful comments is by and large a dev who can write code clean and simple enough not to need them. If the code doesn't have informative names and clear separation of concern, chances are a comment won't help because the dev didn't really know what they did that worked in the first place.

[–] MagicShel@programming.dev 14 points 1 year ago

Generally, yes. However I have been known to document exactly why I'm doing something incredibly stupid - because it's required but a stupid third party library which, despite being awful, is still better than implementing it myself as a refactor.

[–] bappity@lemmy.world 3 points 1 year ago

a dev who can write useful comments is by and large a dev who can write code clean and simple enough not to need them.

my boss is great in this regard and also always has to keep reminding us to write unit tests 😅

[–] magic_lobster_party@kbin.social 8 points 1 year ago (2 children)

Comments should only be used to describe stuff that’s otherwise difficult to convey with code.

[–] xmunk@sh.itjust.works 18 points 1 year ago (1 children)

The best explanation I've ever heard is:

Comments should state the 'Why' never the 'What'.

[–] hikaru755@feddit.de 1 points 1 year ago

There are some cases though where the code is just complicated for reasons outside of your control, in which case "what" comments are good - but they should never be taken at face value, but only used as a first step in understanding the code. There's a significant risk of the code not actually doing what the comment says.

[–] dukk@programming.dev 3 points 1 year ago (1 children)

Yeah. Most of the time I use comments in my algorithms, as they often use some weird optimized black magic which are difficult to understand without comments.

load more comments (1 replies)
[–] bear 7 points 1 year ago (1 children)

I write a lot of fairly simple scripts in Bash and PowerShell that should be easily understood by anybody else with moderate experience in the language, but I leave a lot of obvious comments because my coworkers don't write any code and are extremely skittish about my automations. I add them basically to quell their fears.

[–] odium@programming.dev 9 points 1 year ago (1 children)

Why are coworkers who don't write any code in the codebase?

[–] bear 6 points 1 year ago* (last edited 1 year ago)

These are scripts that manage stuff on a few hundred user endpoints and a few servers. They were doing basically everything manually until I got here, and the only way I could get them on board with my slow introduction of automation is to let them see it. I have to ensure things don't get too long, complex, or hard to explain, or they start getting nervous.

[–] oce@jlai.lu 4 points 1 year ago

I'd rather teach people to comment well through my reviews. Much easier to understand two lines of well written function description in English than 20 lines of code.

[–] Landless2029@lemmy.world 4 points 1 year ago

Yeah well now we have git copilot where your comments include AI suggestions.

Now I have TONS more comments

[–] pennomi@lemmy.world 29 points 1 year ago (1 children)

The leash is good unit testing.

[–] gjoel@lemmy.ml 6 points 1 year ago (1 children)

Oh, he'll just change the unit test if it fails.

[–] Killing_Spark@feddit.de 3 points 1 year ago

Unit tests are there to get an @ignore annotation!

[–] magic_lobster_party@kbin.social 27 points 1 year ago (3 children)

There’s also that long time senior dev who’s overly confident in their abilities and force pushes production breaking code directly to master.

[–] Anticorp@lemmy.ml 11 points 1 year ago (1 children)

Nah, they’re the one who’s contributing most to the project. Mostly because their code is so garbage no one else can work with it. But that’s not a thing the managers take into account.

[–] jelloeater85@lemmy.world 10 points 1 year ago (2 children)

Yeet that shit into main. Who needs unit tests, it works on my computer?

[–] magic_lobster_party@kbin.social 9 points 1 year ago (1 children)

If it works in my mind it’s ready for production

[–] wizardbeard@lemmy.dbzer0.com 5 points 1 year ago

YOLOdev is the best way to dev

load more comments (1 replies)
[–] ericbomb@lemmy.world 16 points 1 year ago (1 children)

Look, it's me.

Just let me rewrite ONE report from scratch so it doesn't check a specific unindexed table that it doesn't actually need to check and causes the report to be killed by MSQL because it takes too long to run.

Please just one rewrite. Please.

Just one little crystal report.

[–] XTornado@lemmy.ml 9 points 1 year ago* (last edited 1 year ago) (1 children)

Just one little crystal report.

Ugh 🤮

[–] ericbomb@lemmy.world 3 points 1 year ago

I mean I agree with the vibe of that image but holy niche.

[–] XTornado@lemmy.ml 15 points 1 year ago (1 children)

Make him unit test it all and then they can do changes that don't break.

[–] justJanne@startrek.website 8 points 1 year ago (1 children)

Often enough, the old code is so badly intertwined that it's impossible to actually test. Those are the moments where all you can do is nuke it from orbit.

[–] XTornado@lemmy.ml 3 points 1 year ago* (last edited 1 year ago)

Well I was going for that... They will surrender before they do any changes.

[–] southsamurai@sh.itjust.works 6 points 1 year ago (2 children)

Why is the junior dev tied to the other one's penis?

[–] ButtCheekOnAStick@lemmy.world 14 points 1 year ago

Because everyone sucks at drawing hands

[–] morrowind@lemmy.ml 10 points 1 year ago (2 children)

Bro that's not where the penis is located on the body

[–] southsamurai@sh.itjust.works 4 points 1 year ago

Hey, I don't body shame