this post was submitted on 10 Oct 2024
1 points (53.8% liked)

JetBrains

71 readers
6 users here now

A community for discussion and news relating to JetBrains and its products! https://www.jetbrains.com/

Related Communities

Copyright Β© 2000-2024 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o.

founded 10 months ago
MODERATORS
 

After seeing people use the @jetbrains UI to commit to git I understand where all those - sorry: shitty - commit messages come from....

πŸ™ˆ

An improvement would already be to have a "Subject" line and the text box.

And have the subject line follow the Beams Rule.

Sonthat the first line of the commit message finishes the sentence

"When this commit is applied it will..."

And please: No longer than 56(?) characters (Unicode). Keep it short. You got the textbox to explain *why* in full length.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 2 months ago (2 children)

@BatmanAoD Having done code archeology for over a decade now I can assure you that the issue with all the information that you need to understand why something was done has been discarded just shortly before due to moving to a different platform... Or something similar.

In any case: Having all the relevant data in one place and not scattered is a huge advantage.

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

@BatmanAoD And every developer should take the time to create a meaningful commit-message for the work they did. After all they invested a good amount of time into the code change, so why not proudly explain why they did it, what the challenges where and why they did it
*that* way?

But on the other hand: It's documentation, so just drop it πŸ™ˆ

Also: Code-comments are fine but tend to rot during code changes. The commit message is always tied to the commit.

[–] [email protected] 0 points 2 months ago* (last edited 2 months ago) (1 children)

It's not documentation, though. That's my point. It's a byproduct of the development cycle, not a place to store important information.

Commit messages are tied to a commit, sure, but why do you expect developers to have better discipline in writing commit messages than they have in updating code comments?

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

@BatmanAoD Because the commit message is a requirement when committing code. The code comment is sitting there and no one cares whether it'S updated.

And a certain schema of a commit message can be enforced. Git hooks for example can be used to make sure that the commit message looks a certain way, has a minimum length, is formatted according to declared standards. As one would do for code-style.

Then they still can just add garbage. But then you have a people problem that no tech will solve

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

@BatmanAoD And the commit message *is* documentation. It explains the "Why" making transparent why the code was written the way it is. If the commit message doesn'T reflect that, then you can also use git commit -m "Fixed issues"

But again: That is then a people problem that no tech will solve!

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

My point is that "the comments aren't accurate" is also a people problem. And I absolutely disagree that commit messages are "documentation" of anything except the development history.

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

@BatmanAoD Oh I am absolutely with you that commit messages document the development history.

And there are valid cases for code-comments (I am a strong proponent of them) when they explain why something is solved in this specific way that would otherwise cause confusion when reading the code! But those tend to suffer from entropy 😁

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

I mean, I've been doing this for over a decade too. If teams are losing data from their issue tracker or source forge, that's a deep problem and not something that can be ameliorated by writing better commit messages.

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

They are hard to discover… and hard to use.

Flippin' fantastic, that's exactly what I want out of my documentation tooling.

I absolutely agree it would be better if forge data were part of the repo itself rather than separate. But for teams that are using a forge in the standard way, they should rely on the forge for this sort of thing, rather than hide important information in an obscure git feature.

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

@BatmanAoD It all depends on the maturity of the toolchain... and the longtime availablility of the external dependencies 😁

And. I no longer trust them further than I can spit... πŸ™ˆ

But YMMV 😁

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

"trust them" meaning trust github and gitlab?

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

@BatmanAoD Whatever tool people are using for their issues and/or PRs and/or VCS

And it's not about trusting the tool but trusting that the tool will always be available. Whether due to discontinuation of the tool itself or due to discontinued use of the tool and replacement by something else...

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

To be clear, you're saying you trust git metadata to be preserved even when forge/issue-tracking/etc metadata is not?

I suppose that's probably the case more often than not. I think it's still preferable to trust the forge you use than to spend any significant amount of time or effort trying to ensure that the team has strong enough commit-message discipline to compensate for the risk of losing data in an issue-tracker or forge.

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

@BatmanAoD so far I have seen more issue-trackes come and go than VCSs...

So yes: Training developers in commit-discipline would for me not be wasted time and money.

Cause from what I have seen so far the question is not *whether* the issue tracker changes but *when*.

But OTOH: That's just me (and some companies I worked at).

YMMV