this post was submitted on 02 Jul 2024
889 points (98.6% liked)

Programmer Humor

18267 readers
604 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
 
top 28 comments
sorted by: hot top controversial new old
[–] souperk@reddthat.com 95 points 3 days ago (2 children)

I am definitely guilt for that, but I find this approach really productive. We use small bug fixes as an opportunity to improve the code quality. Bigger PRs often introduce new features and take a lot of time, you know the other person is tired and needs to move on, so we focus on the bigger picture, requesting changes only if there is a bug or an important structural issue.

[–] NocturnalMorning@lemmy.world 46 points 3 days ago (2 children)

I always try to review the code anyway. There's no guarantee that what they wrote is doing what you want it to do. Sometimes I find the person was told to do something and didn't realize it actually needs to do Y and not just X, or visa versa.

[–] ScampiLover@lemmy.world 19 points 3 days ago (1 children)

I like to shoot for the middle ground: skim for key functions and check those, run code locally to see if it does roughly what I think it should do and if it does merge it into dev and see what breaks.

Small PRs get nitpicked to death since they're almost certainly around more important code

[–] derpgon@programming.dev 10 points 3 days ago

Especially when you see a change in code, but not in tests ☠️

[–] souperk@reddthat.com 2 points 3 days ago (1 children)

Yes, I always review the code, just avoid nitpicking the hell out of it.

Yeah, sorry, totally misread your comment.

[–] breakingcups@lemmy.world 2 points 3 days ago (1 children)

So you're always behind, patching up small bits of code that don't comply with your guidelines, while letting big changes with, by deduction, worse code quality through?

[–] souperk@reddthat.com 3 points 3 days ago

Not really, we are a small team and we generally trust each other. Sure there are things that could have been better, but it's not bad either.

[–] grrgyle@slrpnk.net 44 points 3 days ago
[–] jubilationtcornpone@sh.itjust.works 41 points 3 days ago (2 children)

Reviewing large PR's is hard. Breaking apart large PR's that are all related changes into smaller PR's is also hard.

If I submit a big one, I usually leave notes in the description explaining where the "core" changes are and what they are trying to accomplish. The goal being to give the reviewers a good starting point.

I also like to unit test the shit out of my code which helps a lot. The main issue there is getting management to embrace unit tests. Unit tests often double the effort up front but save tons of time in the long run. We're going to spend the time one way or the other. Better to do it up front when it's "cheaper" because charging it to the tech debt credit card racks up lots of expensive interest.

[–] zalgotext@sh.itjust.works 13 points 3 days ago

I can't believe we still have to justify writing unit tests to management in the year 2024

[–] pageflight@lemmy.world 11 points 3 days ago

Yeah, if you don't want the next dev (or your future self) to accidentally undo that corner case you fixed, better put a unit test on it.

[–] jack@monero.town 15 points 3 days ago (1 children)

Ask him to do 500 lines and he will never look at it, making you wait forever

[–] Honytawk@lemmy.zip 21 points 3 days ago

Meanwhile, ask a c-suite to do 500 lines, and they party until they overdose.

[–] brrt@sh.itjust.works 11 points 3 days ago (1 children)

Just give them 10 lines at a time from the 500 lines one. Is this how micromanagement was born?

[–] ID411@lemmy.dbzer0.com 6 points 3 days ago (1 children)

It’s how elephants are eaten

[–] LeFantome@programming.dev 1 points 2 days ago

If you do that, you will never get through the toenails. Been there.

[–] ID411@lemmy.dbzer0.com 6 points 3 days ago

Perhaps unknowingly, this is a rehash of an age old comic, where a boss needs to get his secretary to type up a massive report.

[–] MonkderDritte@feddit.de 4 points 3 days ago

Pycharms warns me about cognitive complexity of functions. Other IDEs too i assume?

[–] Bonje@lemmy.world 1 points 2 days ago

The trick is that 10 lines of code usually pull in thousands as they are likely function calls.

I’m the opposite. If there’s 500 lines I will look closer for issues. If there’s only 10 lines it’s LGTM. I’m not going to reward such behavior.

[–] TheSlad@sh.itjust.works 35 points 3 days ago (1 children)

In my first programming job, I would actually do code reviews by pausing my own work, pulling their branch and building it locally, then using debug mode to step through every changed or added line of code looking for bugs, unaccounted for edge cases, and code quality issues.

...I dont do that anymore, I now go "looks good to me" even on 10 line reviews.

Yeah but I bet you do it sometimes on your own pull requests even after you've opened them don't you?

[–] gnutrino@programming.dev 18 points 3 days ago (1 children)

This is why I always rename all the variables in the project on each PR.

[–] jol@discuss.tchncs.de 15 points 3 days ago (2 children)

I know this is a joke, but it you did that I would reject the pr with the reason of too many things at once. Reopen separate PR to refactor variable names. I actually constaly get people doing this and it's dangerous exactly for the reason you're joking about. Makes it easier for errors to slip in.

I know you're playing the straight man to a joke, but actually you can apply a linter, then tell GitHub to ignore the implied ownership history for the purposes of blame from that reclining pr. All such prs are massive and yet by virtue of the replayability of the linter it's also very easy to ensure errors didn't slip in when reviewing.

I know the original comment was about renaming all the variables, but that's obviously deliberately absurd, so I'm using here a completely realistic example instead.

[–] Lifter@discuss.tchncs.de 0 points 2 days ago (1 children)

This will lead to change fatigue. People will rather not cleanup as they go anymore and just get the work done, with worse and worse code quality as a result.

[–] jol@discuss.tchncs.de 1 points 2 days ago

I prefer that than to sneak defects in huge PRs.