The ability to work in a team is an oft-understated part of a developer's skillset. Sure, being able to write good working code is always well-received. But being able to collaborate with others is one of the major things a developer is judged on.
Committing changesets to a code repository is one of the ways a developer collaborates with others. And to do that well, at the very minimum, one needs to understand the art of writing useful commit remarks. That's a subject worth investing some time in to study, but for today, let's examine some of the most God-awful useless commit remarks I've ever had the misfortune of encountering.
I've categorized them into five groups, not necessarily in order of futility.
1. The Mysterious
|
Invisible. |
Changeset |
By |
Time |
|
Remarks |
11332667 |
Ms Mysterious |
31 July 2018, 15:03:14 |
Details |
|
11332668 |
Ms Mysterious |
31 July 2018, 15:35:24 |
Details |
|
11332669 |
Ms Mysterious |
31 July 2018, 16:12:11 |
Details |
|
Do you see the problem with the commit remarks? No? That's because there are
no remarks. Meaning, we have no clue what the commit was for and actually have to delve into the code to make sense of of the
why and
what.
2. The Nonsensical
|
Crazy randomness |
Changeset |
By |
Time |
|
Remarks |
98090 |
Nonsensical Jr. |
18 August 2018, 09:39:16 |
Details |
xyz |
98091 |
Nonsensical Jr. |
18 August 2018, 09:42:55 |
Details |
abc123 |
98092 |
Nonsensical Jr. |
18 August 2018, 09:55:21 |
Details |
55555 |
98093 |
Nonsensical Jr. |
18 August 2018, 13:23:22 |
Details |
454tdfddfhfghhf |
Now, there are commit messages. The only problem is, they're not in English. Or any other language you might know. Hell, they're not even in
binary!
This normally happens when commit messages are mandated at configuration level. The developer can't commit unless he writes a commit remark...
any remark. So to fulfill these requirements, they type some random keyboard sequence and click
Save. Good for them... though this is probably worse than no message. Having no message is neutral. This is
open contempt.
3. The Vague
|
Nothing solid. |
Changeset |
By |
Time |
|
Remarks |
113342667 |
Mr Vague |
15 January 2018, 10:12:22 |
Details |
fixbug |
113342668 |
Mr Vague |
15 January 2018, 11:10:55 |
Details |
fixed bugs |
113342669 |
Mr Vague |
15 January 2018, 12:21:40 |
Details |
fixes |
These irritate me the hardest. This is not some random sequence - it's actually readable (kind of) English. The only problem is, they say absolutely
nothing.
What in the loving heck is "fixbug", or any of the other permutations? Is the Mr Vague trying to say he fixed a bug? Exactly
which bug? Did this provide any useful information, or at least more useful information than if he had not even bothered to leave remarks? Technically, yes. But only marginally. This basically screams,
I have nothing useful to say, but I wanna say something just for the sake of saying something.
4. The Redundant
|
Really damn extra. |
Changeset |
By |
Time |
|
Remarks |
5566732 |
Mdm Redundant |
9 March 2018, 23:21:09 |
Details |
45178 |
5566733 |
Mdm Redundant |
10 March 2018, 09:09:55 |
Details |
45222 |
5566734 |
Mdm Redundant |
10 March 2018, 11:58:29 |
Details |
45232 |
5566734 |
Mdm Redundant |
11 March 2018, 11:18:11 |
Details |
Mdm Redundant |
5566734 |
Mdm Redundant |
12 March 2018, 16:09:03 |
Details |
Mdm Redundant |
These comments aren't random numbers. No, they're the ticket IDs for which the changesets are intended to fulfill. Are these useful? They might be... if not for the fact that these details are available anyway if you click on the Details link. So they save you a click... at the expense of more pertinent information.
Better than no comments? Maybe. But not by much. (OK, I'm being kind. They're still utterly useless.) And in the last two commits, Mdm Redundant went one better... she simply left her name.
Genius.
5. The Accusatory
|
It's all your fault! |
Changeset |
By |
Time |
|
Remarks |
103998 |
Sir Accusatory |
30 May 2018, 12:18:49 |
Details |
The foreign id was not configured correctly. In my opinion, this would have been avoided if we had gone with denormalization of specific structures, as I recommended, instead of relying on foreign keys for verification of everything. |
The first sentence was somewhat useful. The rest of it was smug, petulant and totally unnecessary. Even just "recommend denormalization of specific structures" would be preferred. This is at least neutral. Remember, when you piss people off with your remarks, half of your message is lost.
This message started out as something useful. Unfortunately it got lost by the fact that the Sir Accusatory wasn't trying to be helpful, and was just trying to throw shade at the other developers. Very unprofessional. Don't do this!
Are these commit remarks really all that useless?
Well, nothing's
completely useless. If the company needed to assess the competency of their staff, this would be one of the easiest and obvious metrics. Seriously, you don't need to be a programming genius to know that these commit remarks are crap. It's more a matter of common sense.
Commit remarks are supposed to help, not hinder. When they say "soft skills are important", they don't mean
software skills (though those are still important!), but rather,
communication. If you are going to work in a team, you need to make your work easy to follow.
fixbug,
T___T
No comments:
Post a Comment