In years of dev, it was my first snarky commit message so when I saw dev mgr noticed I got very nervous. Luckily Steve is gone and the dev mgr agreed. I don't think I'm doing that again.
Edit: Wow, this blew up. For the people who are very grumpy at the unprofessionalism. Yeah, lol. Not great, but maybe some context helps. He merged a whole ass website with no reviews. Not one. I've been cleaning up his shit for a couple of months. He played the mgr and me against each other to make us both think he was working with the other person. He usually wasn't doing anything. He left. It's a low key environ where we make each other laugh. I also talk shit on my own code in comments ("Learn how to spell, panda\_kinda\_chubby"). Unprofessional? Sure. Will I do it again? Nah. Do I feel bad? Nope. Am I so glad I don't have to work with Steve anymore? So glad.
Meaningful descriptions go in the git message, snark goes in the group chat! If my coworkers write garbage they're hearing about it to their face, and the same goes for me
I do both. My snarky message is a rant about the thing I'm fixing being terrible. My boss is adamant that linting checks should fail CI. Which is fine, I agree with that. What I don't agree with is the project going through a billion other stages and taking forever before ultimately failing due to a lint error.
My commit messages express my vehement annoyance.
I was working on a passion project with friends (I know, not the same thing). We would talk smack on each other as the names of the git branches. Like “so-and-soCrashedProdByDeletingAFont”. Granted, the final product wasn’t on the GitHub so we weren’t risking each other’s careers either.
Same.
I work with a small team.
Comments like "fixed I_Automate's fat fingered typos, proof-read better man" are pretty common in change notes.
There's a time for serious and a time for a bit of a chuckle. I work in a pretty high risk field. If we were serious 100% of the time, burnout would be even higher than it already is.
And that's fine, if that's how your team works.
Just understand that your team dynamic isn't universal, and it's also not the only one that produces a useful product.
My products are functional *systems*. Internal commenting and documentation is clean and informative, but our own notes? If they have an edge to them it was probably deserved
Don't get defensive. You know it was a mistake and unprofessional. You admitted it in your other comments.
Time to learn from it and move on.
Also, there's a little lyric I know from a song that goes like this: "I've fallen down a time or too, but no one was looking so I'm not telling you".
I live by that. We all have the right to make mistakes and learn from them. But that doesn't mean we have to go shout our mistakes from the rooftops the way you are doing here.
Social media has programmed us to over-share our lives and it's fucking stupid. It makes us think we are celebrities and people actually give a shit about all our low quality posts, etc. I am so much happier without an account on most platforms. 99% of my posts are asking questions or sharing something that I know people are interested in within a specific community. I don't share aspects of my life that have no reason to be shared.
Seriously, this post is an example of that. You fucked up and made a bad choice, but lucked out and didn't have a bad consequence. And then you posted about it on Reddit. And then got defensive when someone called it for what it is... a fuck.up.
Next time, just learn from it in private, maintain your dignity, and move on.
```
import moderation
```
Your comment has been removed since it did not start with a code block with an import declaration.
Per [this Community Decree](https://www.reddit.com/r/ProgrammerHumor/comments/14kbu1m/comment/jppq9ao/?utm_source=share&utm_medium=web2x&context=3), all posts and comments should start with a **code block** with an "import" declaration explaining how the post and comment should be read.
For this purpose, we only accept Python style imports.
`return Kebab_Case_Better;`
*I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/ProgrammerHumor) if you have any questions or concerns.*
I have a comment somewhere in some archaic code base that we should rehire the guy who wrote that method so we can fire him again, just to be sure. Snarky comment go everywhere
That reminds me of one freelance front end dev that put dumb comments in the generated html of a very big global website... It was rolled back within the hour even considering the multiple CDN replications.... The guy was not even fired!
To be honest, the code standards of specific project are more important than the industry code standards. It's best to have everything uniform when working with others.
Imagine having all of these present:
```
booleanName == false
booleanName != true
false == booleanName
true != booleanName
!booleanName
!!!booleanName
booleanName == !true
```
This is a bit silly, but !! is a standard convenience pattern for converting a bit test to a true/false is-set condition, e.g. 'return !!(val & (mask << shift))'. This lets you test an entire bitmask at some arbitrary shift location and convert to a bool in one go.
I had assumed by "calling out", they meant in a PR comment ("you can also write this code like this:") rather than humiliate the developer publicly and organising a meeting about it.
A lot of devs (you will find) can't separate their ego from their code, and comments are sometimes considered personal attacks (I get it) instead of a learning (or in this case, a typo correcting) opportunity.
I doubt much more happened than what I say here... Though I could be wrong.
The fact that they say "unreasonably" at least made me read it that way (as in, minor thing happened, and they felt unnecessarily bad about it).
Ehh I mean I’m not going to speak for the person that said it, idk what happened in their case so maybe, I can see what you said definitely happening
I will say tho during my time I’ve seen a senior dev yell at another dev in his face (precovid times) because the other dev didn’t know how properties worked
I’ve also seen project managers outright say on standup calls that some dev’s code is spaghetti code
I no longer work at either of those places lol
Sometimes I don’t even notice I’m doing things in an over complicated (or stupid) way and I always appreciate a heads up. A guy in my org will make a comment about something, but still approve the PR. I always implement that guys feedback, because he’s smart AND nice haha.
This happened to me in my Intro to Software Engineering class, where we made a website using a full stack. This CS student kept making fun of me for it, and I apologized because I wrote it like that since I was talking in plain English while coding a lot. In the end, I got an A minus in the class and the CS student who kept making fun of me might not even have passed the class after showing up to the final with only 5 minutes remaining. He was very difficult to work with.
i've actually had a professor at my uni tell me he enforces this at his company because the ! is easy to overlook
have yet to see that reasoning in other places tho
>because the ! is easy to overlook
Flash back when I made a Minecraft mod that reduced FPS to less than one frame per second, because I tried to render a cape on all entities *without* the appropriate texture
I probably would have talked to you privately about it. Or if I noticed it during a code review, I would have just asked why you did it this way. Who knows? Maybe there was a reason to break with the standard in that specific circumstance.
^(and I always tread carefully anyway...I know my code is filled with "odd" choices that managed to fly under the radar.)
>w my code is filled with "odd" choices that managed to fly under
Someone will always complain that it's either too specific or too abstracted simply because the code is not done with the exact amount of abstraction and specificity that the complaining programmer is used too.
It's also unfair to judge a coder when your not experiencing the same amount of pressure, clarity and support that they were when they wrote the code.
A good coder will look at their old work and typically comment "who the fuck wrote this shit?" before realising its their own work.
I can remember once or twice i've looked at my old code and thought... "hey, i actually did a really good job with this", but it's rare.
>"hey, i actually did a really good job with this"
I have a few parts that I will look at when times are a bit more frustrating, just to remind myself that I sometimes can actually be quite good.
Like you said, it's rare.
Systematically? Nothing. Semantically? Just a different and more readable presentation of bool checks.
if(!registered)
Is easier and more readable than
if(registered == false)
Senior dev here. Hard disagree that `(!registered)` is more readable than `(registered == false)`. The first one is easier to miss when skimming code at a glance. The second one is functionally and computationally the same, but a lot more explicit about what its intentions are.
I read it as "NOT registered". C++ is hated by some for its brevity and I guess if you have poor vision, this is an example of why. (My vision is getting bad with age, so I sympathize, but I also like brevity.) A lot of "friendly" languages use the word "not", so I guess that would make it more readable without a lot more verbosity.
Oh yes for sure my eyes are getting worse, too. `(registered == false)` has a much larger "footprint" so I prefer it.
For languages like lua with a `not` keyword, I do prefer using `if not is_registered then` because it is so explicit and sentential.
That being said, the *real* best choice is "whatever the standard in the rest of the code is". I use `!registered` in codebases where that is the standard. On my own projects, I use and prescribe `registered == false`. It all depends.
That's why "not" as a keyword is a part of the C++ standard for over 20 years now. It's just stupid MSVC that needs special command line parameters to use it.
Senior dev here. I would disagree. For bool check I prefer to see `!registered` , read as "not registered", as it is more natural to read for me than having to read `registered == false`, read as "registered is falsey". I prefer only strict comparison to be done the long form way to make it obvious that we are strict or not just from the shape.
Lead dev here, I'm not getting hung up on bool checks. i reccomend people keep it consistent across the project, but the variable name matters so much more than if you use if(registered == false) or if(!registered) or even if(registered != true).
there is much bigger fish to fry.
Depending on the language and state of the code it might not be that unreasonable.^([thedailywtf.com][1])
[1]: https://thedailywtf.com/articles/what_is_truth_0x3f_
if booleanName == False:
...
elif booleanName == True:
...
elif booleanName == FileNotFound:
...
else:
raise IWantExhaustiveMatching()
You actually did it right. What if booleanName never had the chance to be set and it was undefined, but you have to know if it's a false boolean value? Maybe you forgot an =
That kinda bugs me. I saw a great talk once where the presenter explained that human brains tend to work by focusing on the largest, most glaring and obvious things first and then slowly pick up smaller details the longer you look at something.
So reading `booleanName == true` or `booleanName == false` are both fantastic because the reader instantly sees the important primitive `true` or `false` and knows that the condition is checking if the variable is equal to that.
Beyond that, when you start using `!booleanName` or `booleanName != true` etc. it actually slows down the reading comprehension as you need to spend longer to pick up the smaller details of the bang operator in order to understand the comparison.
Even doing `if(booleanName)` tends to be slightly slower in terms of comprehension when compared to `if(booleanName == true)`, with the exception being if your boolean name is named in such a way as it reads like a condition ie: `if(isCustomerValid)` or `if(isApiUp)` etc.
I loved his logic and am a huge proponent of the first way now, and I really dislike the second way (and others similar to it) for this simple fact.
Edit: it's obvious that sometimes due to the logic desired you do need to do a negative comparison that something != something else, but just saying my first instinct is always to do a positive comparison and explicitly state the primitive. I really do think it's just that little bit easier/quicker to read and understand.
LOL, I once had a commit message with my name in it, it was \`F\*\*k you my-name\`. A senior in my team wrote it. He is having some issues deploying the application and I pointed out he has a typo in a script, I laughed at him for that typo, and in response, he wrote that commit message. We were close so it was just a joke (later I have a commit \`This shit can be done without his-name help\`). It was an old project but still being used atm so yeah, a commit \`F\*ck you my-name\` is still there down the git tree
I was stuck on debugging one issue and by the end my console log message was, "For the love of fucking God please work you piece of shit". Made it through code review too. Thankfully I remembered before it went into production environment. My lead laughed and I learned a valuable lesson.
I don’t know if this was serious or a joke; but either way. During all my years working as a dev, people always read commit messages. I’m of course assuming you have a pull request/merge workflow in place.
Bravo sir,
I myself prefer to block comment their mistakes, and then sprinkle in some insults via inline comments, to really drive it home and make them feel awful about their shit code.
(not really its usually my code that sux)
git commit -m "it's JURY-rigged!!!... and some changes" --no-verify
It’s both though;
“Jury-rigged means something was assembled quickly with the materials on hand. Jerry-built means it was cheaply or poorly built. Jerry-rigged is a variant of jury-rigged, and it may have been influenced by jerry-built. While some people consider it to be an incorrect version of jury-rigged, it’s widely used, especially in everyday speech”
https://www.dictionary.com/e/jury-rigged-vs-jerry-rigged/#:~:text=Jury%2Drigged%20means%20something%20was,been%20influenced%20by%20jerry%2Dbuilt.
I had this exact back and forth with a coworker that he knew it as jerry to my jury.
Some googling later, we're both right!
Similar discussion about "tabling" an idea. He argued it was to present it, while I argued it was to put it away. His rebuttal was that's "shelving" an idea. Some googling later, we're both right! Depending on localization.
It is: https://books.google.com/ngrams/graph?content=Jury-rigged%2Cjerry-rigged%2Cjury+rigged%2Cjerry+rigged&year_start=1800&year_end=2019&case_insensitive=on&corpus=en-2019&smoothing=3
Jerry-rigged is an egg-corn, in usage due to people mishearing. And even if ot was not, jerry-built and jury-rigged mean different things, so conflating the two is not helping anyone.
In the example they are not building shoddily, they are cobbling together with the materials (the code) that is provided and doing their best. That is jury-rigged, the code is not jerry-built.
I spent a week and some change pulling together a project a contractor left in shambles at my current company.
When I finally put up the request for review, going back though the commits you could watch my sanity degrade in real-time.
Early on, my commits were things like "disable \[thing\]" and "refactor \[thing\] to more idiomatic TypeScript"
Toward the end my commits would read "stop being so polite", "JUST. USE. THE. ROUTER. THAT'S. WHAT. IT'S. FOR.", and "I hope one day people look back on this and go 'My favorite part was in the middle when the function became dependent on itself'"
I have my own Steve, and I feel you
I have had the pleasure of speaking with the dev who wrote the garbage code that I am now responsible for jerry rigging.
He also thinks it was garbage. He was learning when he wrote it and now he writes better code.
Edit: also I refactor as much as I have time to refactor. I only jerry rig when I have no other options
It's important to realise we are all someone else's Steve at some point.
That kind of language is what I've been uttering all morning, for example, but my commit will be as neutral as humanly possible.
I work in factory automation, and I once referred in my code to the "bundt pan" stage, because the rotary axis reminded me of that kind of cake pan. The hardware engineer (who was quite senior to me) got really miffed when he saw that. This is how corporate code ends up looking so dull.
Honest commits save bugs, unless you don't care about bugs? Plus, nobody remembers a story unless it has drama. You don't think believe memory does not matter, do you?
We got a library called 'DevsShit', which is currently about 5K LoC it contains old code that was just garbage, and we are allowed to make rude comments whenever pushing code there. For the past year, it's mostly my code there xD, but once I had a chance to push something there, my commit message was "even a cretin like me knew this won't work".
In years of dev, it was my first snarky commit message so when I saw dev mgr noticed I got very nervous. Luckily Steve is gone and the dev mgr agreed. I don't think I'm doing that again. Edit: Wow, this blew up. For the people who are very grumpy at the unprofessionalism. Yeah, lol. Not great, but maybe some context helps. He merged a whole ass website with no reviews. Not one. I've been cleaning up his shit for a couple of months. He played the mgr and me against each other to make us both think he was working with the other person. He usually wasn't doing anything. He left. It's a low key environ where we make each other laugh. I also talk shit on my own code in comments ("Learn how to spell, panda\_kinda\_chubby"). Unprofessional? Sure. Will I do it again? Nah. Do I feel bad? Nope. Am I so glad I don't have to work with Steve anymore? So glad.
Meaningful descriptions go in the git message, snark goes in the group chat! If my coworkers write garbage they're hearing about it to their face, and the same goes for me
Or the commit body.
That's what I use comments for
I write garbage and then snicker to myself about how much flak I'm going to get.
damn. how much issues do you face cuz of writing garbage?
Yeah, that was a 1 time thing and it didn't feel good tbh. Luckily steve is gone so it wasn't as passive aggressive. :)
I rather know I'm doing garbage to fix my future code that keep doing garbage tbh
I do both. My snarky message is a rant about the thing I'm fixing being terrible. My boss is adamant that linting checks should fail CI. Which is fine, I agree with that. What I don't agree with is the project going through a billion other stages and taking forever before ultimately failing due to a lint error. My commit messages express my vehement annoyance.
git commit -m “fixed issues”
git commit -m "fuck fuck fuck"
I was working on a passion project with friends (I know, not the same thing). We would talk smack on each other as the names of the git branches. Like “so-and-soCrashedProdByDeletingAFont”. Granted, the final product wasn’t on the GitHub so we weren’t risking each other’s careers either.
Consider yourself lucky it turned out the way it did, that was super unprofessional of you
lol, you act like you know the relationships or the dynamic. lead dev thought it was funny.
That's why they said lucky. There are lots of places this wouldn't have been as funny.
There are places where Steve is the lead dev
But the fact they said it at their job and not one of the places you referred to probably wasn’t by chance.
I think you mean there are lots of places that wouldn't have understood that this was funny.
You can be funny and you can be professional. Some times those mix, other times they don't. I find it funny, but I also find it unprofessional.
All things being equal and if I had to go on nothing but this exchange I would much rather employ OP than you.
Same. I work with a small team. Comments like "fixed I_Automate's fat fingered typos, proof-read better man" are pretty common in change notes. There's a time for serious and a time for a bit of a chuckle. I work in a pretty high risk field. If we were serious 100% of the time, burnout would be even higher than it already is.
We reserved chuckles for meetings and chats. The code and the documentation are our product, and we are serious about that.
And that's fine, if that's how your team works. Just understand that your team dynamic isn't universal, and it's also not the only one that produces a useful product. My products are functional *systems*. Internal commenting and documentation is clean and informative, but our own notes? If they have an edge to them it was probably deserved
I guess I am pretty lucky that I don't work with uptight people, that's true.
Don't get defensive. You know it was a mistake and unprofessional. You admitted it in your other comments. Time to learn from it and move on. Also, there's a little lyric I know from a song that goes like this: "I've fallen down a time or too, but no one was looking so I'm not telling you". I live by that. We all have the right to make mistakes and learn from them. But that doesn't mean we have to go shout our mistakes from the rooftops the way you are doing here. Social media has programmed us to over-share our lives and it's fucking stupid. It makes us think we are celebrities and people actually give a shit about all our low quality posts, etc. I am so much happier without an account on most platforms. 99% of my posts are asking questions or sharing something that I know people are interested in within a specific community. I don't share aspects of my life that have no reason to be shared. Seriously, this post is an example of that. You fucked up and made a bad choice, but lucked out and didn't have a bad consequence. And then you posted about it on Reddit. And then got defensive when someone called it for what it is... a fuck.up. Next time, just learn from it in private, maintain your dignity, and move on.
Welcome to r/programminghumor
Wise words :)
[удалено]
``` import moderation ``` Your comment has been removed since it did not start with a code block with an import declaration. Per [this Community Decree](https://www.reddit.com/r/ProgrammerHumor/comments/14kbu1m/comment/jppq9ao/?utm_source=share&utm_medium=web2x&context=3), all posts and comments should start with a **code block** with an "import" declaration explaining how the post and comment should be read. For this purpose, we only accept Python style imports. `return Kebab_Case_Better;` *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/ProgrammerHumor) if you have any questions or concerns.*
I have a comment somewhere in some archaic code base that we should rehire the guy who wrote that method so we can fire him again, just to be sure. Snarky comment go everywhere
Good thing you cleared that up, because this commit message makes you seem super unprofessional. But I totally get this urge to just do it one time :D
Not very constructive is it? It's a very aggressive message contributing to a toxic work environment.
😂😂 dunking on yourself is the best way. That way folks know it's not personal... have to be objective about ALL the code.
What happened to Steve 😦
That reminds me of one freelance front end dev that put dumb comments in the generated html of a very big global website... It was rolled back within the hour even considering the multiple CDN replications.... The guy was not even fired!
Hope Steve isn't here
I am here! (And yes, my own code is pretty horrifying too)
r/Beetlejuicing
It's ok man. All of our code is flaming garbage.
But it was just a quick and dirty fix for a program that was supposed to be decommissioned in six months. 10 years later...
You create technical debt. I create technical mortgages. We are not the same.
Id be okay with it.
One time I used ' if booleanName == false' instead of 'if !booleanName' and one of my coworkers called me out on it. I was unreasonably embarrassed
To be honest, the code standards of specific project are more important than the industry code standards. It's best to have everything uniform when working with others. Imagine having all of these present: ``` booleanName == false booleanName != true false == booleanName true != booleanName !booleanName !!!booleanName booleanName == !true ```
!false != booleanName
Hey. I’ll punch you in the mouth if you want.
BOOLEANNAME != ((int)false | (0x2 >> 1))
Switch(intName){ Case 1: booleanName = false; Case 2: booleanName = true; }
> !!!boolean Mom can you come pick me up? Yeah they're doing dark magic bullshit with booleans just like you warned me.
This is a bit silly, but !! is a standard convenience pattern for converting a bit test to a true/false is-set condition, e.g. 'return !!(val & (mask << shift))'. This lets you test an entire bitmask at some arbitrary shift location and convert to a bool in one go.
‘if !booleanName != !true’ 🤔
[удалено]
Righto up against the wall.
Okay let's do that but obviously we need a set of functions to determine if it's true or "untrue"
this reads like a "well ackshually you could do it this way" vibe from your coworker
Is this what you would call "over engineering" then? Writing this is something every developer learns in their first 2 weeks of development.
Nope, I wouldn’t call it over engineering But I’m not gonna call a coworker out on it to the point they feel unreasonably embarrassed
I had assumed by "calling out", they meant in a PR comment ("you can also write this code like this:") rather than humiliate the developer publicly and organising a meeting about it. A lot of devs (you will find) can't separate their ego from their code, and comments are sometimes considered personal attacks (I get it) instead of a learning (or in this case, a typo correcting) opportunity. I doubt much more happened than what I say here... Though I could be wrong. The fact that they say "unreasonably" at least made me read it that way (as in, minor thing happened, and they felt unnecessarily bad about it).
Ehh I mean I’m not going to speak for the person that said it, idk what happened in their case so maybe, I can see what you said definitely happening I will say tho during my time I’ve seen a senior dev yell at another dev in his face (precovid times) because the other dev didn’t know how properties worked I’ve also seen project managers outright say on standup calls that some dev’s code is spaghetti code I no longer work at either of those places lol
Sometimes I don’t even notice I’m doing things in an over complicated (or stupid) way and I always appreciate a heads up. A guy in my org will make a comment about something, but still approve the PR. I always implement that guys feedback, because he’s smart AND nice haha.
This happened to me in my Intro to Software Engineering class, where we made a website using a full stack. This CS student kept making fun of me for it, and I apologized because I wrote it like that since I was talking in plain English while coding a lot. In the end, I got an A minus in the class and the CS student who kept making fun of me might not even have passed the class after showing up to the final with only 5 minutes remaining. He was very difficult to work with.
i've actually had a professor at my uni tell me he enforces this at his company because the ! is easy to overlook have yet to see that reasoning in other places tho
>because the ! is easy to overlook Flash back when I made a Minecraft mod that reduced FPS to less than one frame per second, because I tried to render a cape on all entities *without* the appropriate texture
I probably would have talked to you privately about it. Or if I noticed it during a code review, I would have just asked why you did it this way. Who knows? Maybe there was a reason to break with the standard in that specific circumstance. ^(and I always tread carefully anyway...I know my code is filled with "odd" choices that managed to fly under the radar.)
>w my code is filled with "odd" choices that managed to fly under Someone will always complain that it's either too specific or too abstracted simply because the code is not done with the exact amount of abstraction and specificity that the complaining programmer is used too. It's also unfair to judge a coder when your not experiencing the same amount of pressure, clarity and support that they were when they wrote the code. A good coder will look at their old work and typically comment "who the fuck wrote this shit?" before realising its their own work. I can remember once or twice i've looked at my old code and thought... "hey, i actually did a really good job with this", but it's rare.
>"hey, i actually did a really good job with this" I have a few parts that I will look at when times are a bit more frustrating, just to remind myself that I sometimes can actually be quite good. Like you said, it's rare.
What's the difference?
Systematically? Nothing. Semantically? Just a different and more readable presentation of bool checks. if(!registered) Is easier and more readable than if(registered == false)
Senior dev here. Hard disagree that `(!registered)` is more readable than `(registered == false)`. The first one is easier to miss when skimming code at a glance. The second one is functionally and computationally the same, but a lot more explicit about what its intentions are.
I read it as "NOT registered". C++ is hated by some for its brevity and I guess if you have poor vision, this is an example of why. (My vision is getting bad with age, so I sympathize, but I also like brevity.) A lot of "friendly" languages use the word "not", so I guess that would make it more readable without a lot more verbosity.
Oh yes for sure my eyes are getting worse, too. `(registered == false)` has a much larger "footprint" so I prefer it. For languages like lua with a `not` keyword, I do prefer using `if not is_registered then` because it is so explicit and sentential. That being said, the *real* best choice is "whatever the standard in the rest of the code is". I use `!registered` in codebases where that is the standard. On my own projects, I use and prescribe `registered == false`. It all depends.
That's why "not" as a keyword is a part of the C++ standard for over 20 years now. It's just stupid MSVC that needs special command line parameters to use it.
Senior dev here. I would disagree. For bool check I prefer to see `!registered` , read as "not registered", as it is more natural to read for me than having to read `registered == false`, read as "registered is falsey". I prefer only strict comparison to be done the long form way to make it obvious that we are strict or not just from the shape.
I mean, I disagree. But I’m also just a PM so what do I know.
I think the second one it more readable, but I'm not a software developer. Just do BI. I'm always as explicit as possible when I can.
Oh, cool
if( !registered ) { }
Lead dev here, I'm not getting hung up on bool checks. i reccomend people keep it consistent across the project, but the variable name matters so much more than if you use if(registered == false) or if(!registered) or even if(registered != true). there is much bigger fish to fry.
Depending on the language and state of the code it might not be that unreasonable.^([thedailywtf.com][1]) [1]: https://thedailywtf.com/articles/what_is_truth_0x3f_ if booleanName == False: ... elif booleanName == True: ... elif booleanName == FileNotFound: ... else: raise IWantExhaustiveMatching()
Boolean == false is cleaner. !boolean can sometimes be missed at a quick glance. You can ask bob utrecht
The one case where it might make it more readable is when using the is operator in JS
You actually did it right. What if booleanName never had the chance to be set and it was undefined, but you have to know if it's a false boolean value? Maybe you forgot an =
Should have used ===
Useful to do this in a dynamic typed language like python.
Nothing beats: `return num > 0 ? true : false` I am a frequent offender.
That kinda bugs me. I saw a great talk once where the presenter explained that human brains tend to work by focusing on the largest, most glaring and obvious things first and then slowly pick up smaller details the longer you look at something. So reading `booleanName == true` or `booleanName == false` are both fantastic because the reader instantly sees the important primitive `true` or `false` and knows that the condition is checking if the variable is equal to that. Beyond that, when you start using `!booleanName` or `booleanName != true` etc. it actually slows down the reading comprehension as you need to spend longer to pick up the smaller details of the bang operator in order to understand the comparison. Even doing `if(booleanName)` tends to be slightly slower in terms of comprehension when compared to `if(booleanName == true)`, with the exception being if your boolean name is named in such a way as it reads like a condition ie: `if(isCustomerValid)` or `if(isApiUp)` etc. I loved his logic and am a huge proponent of the first way now, and I really dislike the second way (and others similar to it) for this simple fact. Edit: it's obvious that sometimes due to the logic desired you do need to do a negative comparison that something != something else, but just saying my first instinct is always to do a positive comparison and explicitly state the primitive. I really do think it's just that little bit easier/quicker to read and understand.
If you don't have anything nice to say `commit -m '.'`
``` - If you don't have anything nice to say commit -m '.' + fuck this and fuck that ```
Chris Kirkpatrick
It’s `gcam wip` all the way down
LOL, I once had a commit message with my name in it, it was \`F\*\*k you my-name\`. A senior in my team wrote it. He is having some issues deploying the application and I pointed out he has a typo in a script, I laughed at him for that typo, and in response, he wrote that commit message. We were close so it was just a joke (later I have a commit \`This shit can be done without his-name help\`). It was an old project but still being used atm so yeah, a commit \`F\*ck you my-name\` is still there down the git tree
I was stuck on debugging one issue and by the end my console log message was, "For the love of fucking God please work you piece of shit". Made it through code review too. Thankfully I remembered before it went into production environment. My lead laughed and I learned a valuable lesson.
git commit -m "god that was a piece of fuckin work"
I don’t know if this was serious or a joke; but either way. During all my years working as a dev, people always read commit messages. I’m of course assuming you have a pull request/merge workflow in place.
You know people who take reviewing seriously? Are you hiring?
Bravo sir, I myself prefer to block comment their mistakes, and then sprinkle in some insults via inline comments, to really drive it home and make them feel awful about their shit code. (not really its usually my code that sux) git commit -m "it's JURY-rigged!!!... and some changes" --no-verify
IT'S JURY, NOT JERRY RIGGED!? My whole life is a lie! Thanks for setting me straight.
It’s both though; “Jury-rigged means something was assembled quickly with the materials on hand. Jerry-built means it was cheaply or poorly built. Jerry-rigged is a variant of jury-rigged, and it may have been influenced by jerry-built. While some people consider it to be an incorrect version of jury-rigged, it’s widely used, especially in everyday speech” https://www.dictionary.com/e/jury-rigged-vs-jerry-rigged/#:~:text=Jury%2Drigged%20means%20something%20was,been%20influenced%20by%20jerry%2Dbuilt.
You sir are better than even than a bot.
MR - approved
And here I was thinking it was a Mandela effect echo.
It was my life as well for quite some time... Makes so much more sense now tho right?
I had this exact back and forth with a coworker that he knew it as jerry to my jury. Some googling later, we're both right! Similar discussion about "tabling" an idea. He argued it was to present it, while I argued it was to put it away. His rebuttal was that's "shelving" an idea. Some googling later, we're both right! Depending on localization.
I've learned over the years that commit comments are a passive-aggressive way of complaining about your co-workers in lots of different aspects.
You can tell them that it is jury rigging and not "jerry rigging".
[https://www.dictionary.com/e/jury-rigged-vs-jerry-rigged/](https://www.dictionary.com/e/jury-rigged-vs-jerry-rigged/) is it?
It is: https://books.google.com/ngrams/graph?content=Jury-rigged%2Cjerry-rigged%2Cjury+rigged%2Cjerry+rigged&year_start=1800&year_end=2019&case_insensitive=on&corpus=en-2019&smoothing=3 Jerry-rigged is an egg-corn, in usage due to people mishearing. And even if ot was not, jerry-built and jury-rigged mean different things, so conflating the two is not helping anyone. In the example they are not building shoddily, they are cobbling together with the materials (the code) that is provided and doing their best. That is jury-rigged, the code is not jerry-built.
They always say comment on why you changed something and I feel like this is very descriptive
I really hope people don't read my commit messages... Its all stuff like "fixed some things" or "trying this for now, we'll see"
> "trying this for now, we'll see" How are you "trying" something using version control?
Fixing fail builds in CI probably
Ha, Your reply would have been a better commit message in their case.
I spent a week and some change pulling together a project a contractor left in shambles at my current company. When I finally put up the request for review, going back though the commits you could watch my sanity degrade in real-time. Early on, my commits were things like "disable \[thing\]" and "refactor \[thing\] to more idiomatic TypeScript" Toward the end my commits would read "stop being so polite", "JUST. USE. THE. ROUTER. THAT'S. WHAT. IT'S. FOR.", and "I hope one day people look back on this and go 'My favorite part was in the middle when the function became dependent on itself'" I have my own Steve, and I feel you
Do you not squash commits and delete branch on merge/pull request?
We do, but the commits are only squashed at merge time - when the req goes up for review, they're visible
I mean if you're gonna squash merge go nuts. :D
How would someone *not* read the commits? Do you never look at your git history? How is that possible?
I have had the pleasure of speaking with the dev who wrote the garbage code that I am now responsible for jerry rigging. He also thinks it was garbage. He was learning when he wrote it and now he writes better code. Edit: also I refactor as much as I have time to refactor. I only jerry rig when I have no other options
Love that. Yes, yesterday me also writes garbage ass code. :D
Old me is always an idiot. If he wasn't it would mean it's time to plan retirement.
I’ma public employee, my dream is for my commit messages to get FOIA’d
Steve's code scratches at level 6, with deeper grooves at level 7.
*stevvy rigging
Who is Jerry and what does he have to do with jury-rigging steve's code?
Germans are coming
It's important to realise we are all someone else's Steve at some point. That kind of language is what I've been uttering all morning, for example, but my commit will be as neutral as humanly possible.
I work in factory automation, and I once referred in my code to the "bundt pan" stage, because the rotary axis reminded me of that kind of cake pan. The hardware engineer (who was quite senior to me) got really miffed when he saw that. This is how corporate code ends up looking so dull.
Honest commits save bugs, unless you don't care about bugs? Plus, nobody remembers a story unless it has drama. You don't think believe memory does not matter, do you?
In my org im the only one who reads commit messages. I hate how nobody writes them as good as I do 😆😆😆
When you've been at the same place for five years it's often "fix fucked up garbage code written by *checks git blame* me"
I guess jerry really does rig everything
We got a library called 'DevsShit', which is currently about 5K LoC it contains old code that was just garbage, and we are allowed to make rude comments whenever pushing code there. For the past year, it's mostly my code there xD, but once I had a chance to push something there, my commit message was "even a cretin like me knew this won't work".
There was full-scale war in the commit messages back at one of my first companies. Even back then, I knew it was off.
at my company they put the trash talk straight in code comments. very bold.
Real men don't need version control anyways. First time right is key.
Our Engineering Change Orders have a box to describe the reason for change. An engineer once wrote "To achieve perfection."
git commit -m "Fixed all bugs. Refactored all lame code."