This is a glass
(midwest.social)
(midwest.social)
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);
//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
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.
https://what-if.xkcd.com/6/
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?
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
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.
Inevitably whatever is under the glass gets wet anyway... because it's raining.
Engineer: The glass is too big!
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
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. 😊🥛
Opportunist... "It's an empty glass. I drank it while you were arguing."
Scientist.. "it's half empty because the water is slowly evaporating."
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
// This is a Glass class
class Glass {
filled(halfFull, halfEmpty) {
this.halfFull;
this.halfEmpty;
}
}
What the hell kind of glass is this?
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
"""
only one line for your comment?
fucking amateur
this comment uses five lines
"""
/*
* this five line comment
* is formatted C plus plus
* and is a haiku
*/
A haiku has to use elements of the natural world in a symbolic manner.
Eh, my bad. I figured that was somewhat optional given it's English and already kind of an adaptation. Fixing it is more effort than I'm willing to put in tho
The whole Wikipedia page on English Haiku makes it seem like there's a lot of room for interpretation
I figured that was somewhat optional
It is somewhat optional.
While there are certain elements that are traditionally included in a 'proper' haiku, those elements are not universal, even in very old, traditional haiku. @jerkface@lemmy.ca is being too harsh and speaking too absolutely here. A non-traditional haiku is still a haiku.
-- Your friendly neighborhood literature major.
Don't you have stuff like // NOLINTNEXTLINE to explicitely disable some lints?
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.
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.
You guys are getting code comments???
//This a glass
// To get the quantity and type of content use
// glass->qty : float
// glass->content : glass_content
if glass.empty?
make_sad_noise
else
homi.hydrate(glass.qty)
end
You should check against homi.healthyCapacity first unless you want to drown them.
How can you be so sure other readers will understand floating point numbers? Better include the entire IEEE 754 standard just in case.

Matrix chat room: https://matrix.to/#/#midwestsociallemmy:matrix.org
Communities from our friends:
LiberaPay link: https://liberapay.com/seahorse