I personally quite enjoy a bit of whimsy in code. What we do (mostly) isn't that serious (modulo those, including me once upon a time, who work on literal life and death software)
The second group doesn't want to deal with "all the fun crap" and "distractions" that stand in the way of them marking a bug fixed (or, god forbid, actually getting extra bugs/work assigned because some "fun" code might break or cause confusion).
As teams and companies grow, the second group usually outgrows the first and the first group moves on to reform into smaller teams working on something else again.
Fun is good when it is fresh. Fossilized fun is not that fun. It is more like that uncle who heavily tries to be fun at family parties.
`isUserAGoat` ended up allowing any caller to determine if a specific app is installed on the system, which is a privacy violation and allows fingerprinting against the user's consent.
I get the desire to make the job more fun than just implementing a spec, but many of the things we work on are very important and very complex, with oodles of real-world consequences. That unfortunately means everything we do has to be well-considered and not off-the-cuff.
They disabled the "fun" function in android 11 with the arrive of the QUERY_ALL_PACKAGES permission.
A fair bit of time was wasted on trying to understand some joke/pun code and variable names, and on another occasion, spending the best part of a day working on something because they took some sarcasm in code/comments literally.
That said, funny code should still work
But I've also had to debug a Delphi unit which returned error codes inspired by the magical supercomputer Hex from the Discworld novels.
"Divide by cucumber error" is not a decent enough representation of a module's internal state, no matter how funny you think you are.
https://http.cat/451 and https://http.cat/510 for reference
451 is a bit of a niche joke (took me a bit to realize it was Ray Bradbury), but 510 is definitely going to help me remember "not extended" :P
451 is also a bit whimsical btw – and that actually helps remember what it stands for (Unavailable For Legal Reasons).
Every single person who isn't you.
You are aware there are other people besides you, right?
Similar to not caring at all about the rest of society when you're alive, not caring at all about the rest of society when you're dead makes for a shitty society. You are not the world, there is an external reality (with people in it!), and you have obligations to it. I'm not a religious person, but it seems to me that religion helps or used to help with such things.
It needlessly complicates reading/following the code. Even if you explain the naming back at where you define the function/variable it add an extra click-through/hover to read that and an extra translation you have to do in your head when you read the “fun” variable name in the future.
One example is we have a flag called “dinnerbell”. What does that do? It tells the server receiving that flag to “come and get it”, “it” being the full data object instead of just getting a delta. It could have been called a whole slew of other things that would make more sense.
If software actually worked, then I'd be fine with more whimsy. But it doesn't, so I'm not.
I think in the push to make computing "friendlier" by dressing up error messages, past a certain point they began to come off as condescending. I wish modern UX could focus on working for me instead of trying to be my friend all the time.