this post was submitted on 12 Dec 2023
783 points (99.0% liked)

Programmer Humor

19623 readers
78 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 50 comments
sorted by: hot top controversial new old
[–] Maiznieks 96 points 11 months ago (5 children)
[–] obrenden 68 points 11 months ago (3 children)

With 400 lines changed over 50 files

[–] [email protected] 36 points 11 months ago (1 children)
[–] [email protected] 19 points 11 months ago

“feat: stuff”

Guilty of this one myself.

[–] Jeremyward 13 points 11 months ago

I had a commit recently that was like 2000 lines changed over 6 files. Really should have been a smaller issue.

[–] Dkarma 4 points 11 months ago

Y tho??? Holy shit. Commits should be like functions. One thing and one thing only. Maybe a small group of files like the same change over multiple config files. 50 is insane to me.

[–] [email protected] 14 points 11 months ago (1 children)

"Bits were fiddled, possibly in the right way"

load more comments (1 replies)
[–] Dasnap 12 points 11 months ago (1 children)

'Change' if I'm feeling particularly chaotic.

[–] [email protected] 13 points 11 months ago (2 children)
load more comments (2 replies)
load more comments (2 replies)
[–] [email protected] 59 points 11 months ago* (last edited 11 months ago) (5 children)

Every time I commit I have to look through git diff, figure out what the hell I actually did, come up with something intelligent to say about jt, possibly split the commit into multiple commits if I changed multiple things, do some shuffling with git reset and git add...

For some reason all my personal projects are all like 4K SLoC with 50 total commits, all of which include apologies for not doing more smaller commits

[–] [email protected] 43 points 11 months ago (3 children)

There's a bigger issue than your commit message if you don't even know what you just coded and are committing.

[–] [email protected] 28 points 11 months ago* (last edited 11 months ago) (3 children)

You see, sometimes I code something, go to bed before finishing it, come back, decide not to commit because then I'd have to think of a commit message and I just want to code, start working on an unrelated feature, do that for a couple days, get distracted by life stuff and put the project down for a few weeks/months, rinse and repeat, and then I finally get around to writing a commit message because I'm about to start a huge change and I want a restore point and I'm like. Okay, it's been like 3 months since my last commit, I'm pretty sure my code can now do something it couldn't 3 months ago but come on, I can't even remember what I had for lunch last Thursday

I'm well aware this is terrible practice but I don't know how to stop doing it

[–] [email protected] 20 points 11 months ago (2 children)

Commit more often. Maybe work in a different feature branch, and don’t be afraid to commit your half-working crappy code. If it’s a personal project/fork, it’s totally acceptable to commit often with bad commit names and small unfinished changes: you can always amend/squash the commits later. That’s how I tend to work: create a new branch, work on the feature, rebase and merge (fast forward, no merge commit). Also, maybe don’t jump around working on random features :P

[–] ExtraMedicated 11 points 11 months ago (1 children)

Jumping around to random features is how my ADHD brain works most efficiently.

[–] [email protected] 5 points 11 months ago

Good news, TDD is methylphenidate of software development!

[–] [email protected] 4 points 11 months ago* (last edited 11 months ago)

but...but new feature shiny

Fr tho this is all excellent advice

load more comments (2 replies)
[–] [email protected] 12 points 11 months ago (1 children)

I just get too excited about actually implementing/fixing something (random things that I see along the way) more than commit ceremony (nobody will care about it in my project anyway other than one random guy who gave the repo a star)

[–] [email protected] 4 points 11 months ago

Nah, I'm that guy, I gave your repo a star for the effort, but I'm not reading your history.

load more comments (1 replies)
load more comments (4 replies)
[–] [email protected] 49 points 11 months ago (7 children)

Just use What The Commit.

You can also create a git alias:

git config --global alias.yolo '!git add -A && git commit -m "$(curl --silent --fail https://whatthecommit.com/index.txt)"'

Now you can just type 'git yolo' to create a commit!

[–] [email protected] 17 points 11 months ago

"Make Sure You Are Square With Your God Before Trying To Merge This"

[–] ikidd 10 points 11 months ago
[–] [email protected] 4 points 11 months ago

Well such an informative reply! Thanks mate 👍

load more comments (4 replies)
[–] [email protected] 35 points 11 months ago (2 children)
[–] [email protected] 13 points 11 months ago (1 children)
[–] [email protected] 38 points 11 months ago (2 children)

"patch mode" - Patch mode allows you to stage parts of a changed file, instead of the entire file. This allows you to make concise, well-crafted commits that make for an easier to read history.

[–] [email protected] 14 points 11 months ago (2 children)

Highly recommend throwing --patch on any git commands you're used to using. You will have the prettiest, most atomic fkn commit, I'm serious people will love you for it.

I mean many people won't care, but the quality folk will notice and approve.

[–] [email protected] 7 points 11 months ago (4 children)

We make a singular commit per feature.

[–] [email protected] 5 points 11 months ago

I always find this hard to follow personally.

load more comments (3 replies)
[–] [email protected] 4 points 11 months ago* (last edited 11 months ago) (4 children)

Or just use a good IDE that makes doing atomic commits pretty natural.

load more comments (4 replies)
load more comments (1 replies)
[–] [email protected] 7 points 11 months ago* (last edited 11 months ago) (1 children)
[–] [email protected] 6 points 11 months ago

uuuuuuuu. and you could do -m to describe the commit.

next they'll add --push/-P.

perhaps add -r for fetch/rebase then commit.

one command to rule them all! 😈

[–] Pacmanlives 21 points 11 months ago* (last edited 11 months ago) (17 children)

git commit -m “changed somethings “

git push origin master

[–] MajorHavoc 18 points 11 months ago (1 children)

You forgot this --force flag.

[–] [email protected] 7 points 11 months ago

I'm too lazy, I use -f

load more comments (16 replies)
[–] pete_the_cat 11 points 11 months ago

For me, it was my boss gave me a programming task which he knew would take hours or a day or two... and then 15 minutes later tells me to "switch focus" and do a menial task that any of my five coworkers could do 🤦‍♂️

[–] [email protected] 11 points 11 months ago (1 children)

I’m using Copilot for it right now. It works on half of the cases.

[–] mdurell 5 points 11 months ago

That's about 300% better than my average!

[–] giggling_engine 10 points 11 months ago

The usual reason would be "because coworkers"

[–] [email protected] 9 points 11 months ago

That's in any bloody workplace! Especially if there is o synergy between different teams.

[–] KeepFlying 8 points 11 months ago (1 children)
load more comments (1 replies)
[–] [email protected] 8 points 11 months ago (1 children)

do git commit -v and then just summarize the diff you have in your editor in a human readable form.

[–] KeepFlying 10 points 11 months ago (1 children)

Don't just summarize the content though, summarize the rationale or how things connect. I can read your diff myself to see what changed, I want to know the logical connections, the reason you did X and not Y, etc.

Or just say "stuff" and provide that context in the PR description separately, no need to overdo the commit log on a feature branch if you're using squash merges from your PR.

[–] [email protected] 8 points 11 months ago* (last edited 11 months ago) (3 children)

P1000x this.

I can read a diff.

I need to know why.

No, a code comment isn't good enough, it's out of date after the next commit.

load more comments (3 replies)
[–] [email protected] 7 points 11 months ago (4 children)

Oh god I feel so called out. I wish I paid more attention to my commit messages but I’m usually too busy fixing the directory structure and refactoring. Sigh.

load more comments (4 replies)
[–] [email protected] 5 points 11 months ago (2 children)

You should not use -m, you should write commit body!

[–] [email protected] 6 points 11 months ago

Why? My coworkers are barely literate and won't read anything with more than 4 or 5 words, writing a commit body would be a waste of time.

load more comments (1 replies)
load more comments
view more: next ›