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

Programmer Humor

19147 readers
1190 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 59 points 9 months ago* (last edited 9 months ago) (3 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] 44 points 9 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 9 months ago* (last edited 9 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 9 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

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

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

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

Good news, TDD is methylphenidate of software development!

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

but...but new feature shiny

Fr tho this is all excellent advice

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

You can help yourself a lot here by making commits every time you make a meaningful change. A feature doesn't need to be complete to commit major checkpoints along the path to completion. That's what feature branches are for. Commit often. It'll help you think of messages, and it'll help you recover in the case of catastrophe.

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

you can setup a on-save script to force you to commit when the number of changes is greater than a certain number from the previous commit.

[–] [email protected] 12 points 9 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 9 months ago

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

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

it means you commit too infrequently. your commit messages should be able to describe what u just did within 10 words.

[–] [email protected] 4 points 9 months ago (1 children)
[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

Remind me what -p does.

Edit: never mind - I see it mentioned below.

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

Patch add - it shows you particular changes you made, and you choose whether or not to include them in the commit. (You can then use git stash -k to stash only the changes you did not add, so you can test before you commit.)

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

I spend much time splitting them up inside visual studio by file and individual lines changed to try and separate my many simultaneous changes into several somewhat usable commits. If I was stupid enough to make some big refactor at the same time I might just have to throw in the towel... It's really painful after a few weeks to try and pick up the pieces of what I was doing but never commited too lol.