Birb: How the fuck is water doing that °v°
Senior engineer: the glass is self documenting.
/**
* @brief This is the coffee cup class
*
* This class describes a cup or mug that neatly integrates a
* container for vectors of cCoffee instances with a fully
* functional handle to carry the cup or mug around. Used for
* pretty much everything.
*/
class cTallGlass : public cGlass {
// This might be a glass
Glass* glass = dynamic_cast<Glass*>(container);
Unless it is in a vacuum, the glass is full.
50% water, 50% gas mixture.
I can't believe no-one else has posted this yet.
Relevant xkcd: https://what-if.xkcd.com/6/
Also, relevant xkcd video: https://youtu.be/0EytSWiKrFg
Topologist: The glass is full of glass. Everything else is on the outside.
no, I actually wanted it empty
If it were a vacuum the water would quickly boil away with any remaining turning to ice.
It wouldn't freeze unless you drop the temperature as well.
The phase transition from liquid to gas absorbs all the thermal energy in the remaining liquid and causes its temperature to drop to freezing point. You are familiar with this effect if you have used a tank of compressed gas; the tank gets cold as you release the gas and you might see condensation on the tank up to the liquid level.
But then the remaining ice in the glass sublimates anyway.
Who are you who are so wise in the ways of science?
Just some jerkface.
It's not a glass, it's the
hydrationContainerManagerObjectFactory
Not to be confused with the
hydrationContainerManagerTypeFactory
Which is the template
Do developers still code in such a manner?
Some of those patterns were actually good design, until everyone went overboard with them. Now the pendulum has swung the complete opposite way and there’s a ton of duplicate code often generated from actual templates.
You forgot the AbstractHydrationManager
//don't remove this comment or else
Load bearing comment
//what if I remove this comment and else?
//Then line 368 that checks if the comment exists will fail and will be sad
No :(
That's not a good comment. What it is should be clear from the naming and context. A good comment explains the why when that is not obvious:
// This glass is at 50% capacity because we don't want it to overflow if it rains
And in 5 years you will wonder why the glass is under the rain because someone didn't put that in the specifications.
Engineer: this glass is twice as big as it needs to be.
- comedian Gallagher
Ha, sorry just saw your post! 😆 Wise minds and such… 😉
While filling the glass: glass is half full
While emptying the glass: glass is half empty
Context matters
Comment would be whether glass is being emptied or filled
Comment would be whether glass is being emptied or filled
What if it's neither (and unknown which it was previously), and the glass is just sitting there?
IllegalStateException
Opportunist... "It's an empty glass. I drank it while you were arguing."
Scientist.. "it's half empty because the water is slowly evaporating."
Engineer: The glass is too big!
IT support chatbot when the client asks how to get an empty/full glass to display: You're absolutely right! I couldn't have said it better myself: This is a glass. 😊🥛
The current legacy code I'm dealing with is full of these:
// TODO: Class description here to satisfy linter
// I'm paid by the line
That sounds horribe, actually.
// This is a Glass class
class Glass {
filled(halfFull, halfEmpty) {
this.halfFull;
this.halfEmpty;
}
}
What the hell kind of glass is this?
AI loves inserting comments like this.
Either that or 20-line comments documenting the bugs in the old code, what this code does differently, and the exact implementation.
Comments describing the exact implementation become stale very quickly. Comments shouldn't explain what the code does (eg "add two to rowCount"); they should explain why it does it (eg "include header and footer row in count too"). Extra details are what the commit message is for, and history is what source control is for.
I call it out in a lot of my code reviews ("code looks good but clean up the AI slop comments before landing") but a lot of other developers don't care as much about code and documentation quality.
Commented out glass is certainly a problem (if it's not only a comment) as the instance of object is created elsewhere but there's some more problems in the code:
-Software tester removes the glass but the water still stands there in the shape of the glass.
-QA tries to pour the water in to the glass but water doesn't register and the glass doesn't fill.
-Performance testing notes that rendering the glass needs some optimization since the glass doesn't fill over 50% before being out of memory.
-Junior programmer can't get the glass to run since the liquids library wasn't locked down and got an incompatible update.
-Automation testing results in to a crash with a screenshot and logs that point out that glass frontend use the old version of the glass backend API leading the glass to freeze.
-External testing points out that there's a bug in the glass but they can't identify it.
Glass _glass = new Glass(); //make variable glass of type glass and make a new glass
///<captainusefuldoc>Gets the glass</captainusefuldoc>
Glass getGlass() => _glass; //get the glass in _glass
You guys are getting code comments???
Marketing: the glass is perfectly dimensioned to transport that amount of water without spilling anything! Buy yours now for a discount! Terms and conditions may apply.
Programmer Humor
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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics