The Absurdity of Self-Documenting Code Taken to Extremes
Description
A screenshot of a C# script within the Unity game engine editor. The code defines a 'GameManager' class that contains variables and methods with extraordinarily long and descriptive names. For example, a boolean variable is named 'ThisBoolMakesItSoThatTheGameHasHigherContrastForAccessibilityPurposes', and a method is named 'CallThisWhenThePlayerLosesHealthAndIfHealthGoesBelowZeroThePlayerWillDie'. This meme is a satirical take on the software development principle of 'self-documenting code,' where code is written so clearly that it doesn't need comments. The image pushes this idea to a comical and impractical extreme, highlighting the trade-off between descriptive naming and code readability/usability. It resonates with developers who have debated naming conventions and the appropriate level of verbosity in code
Comments
45Comment deleted
This isn't just self-documenting code, it's a full-stack story. The compiler doesn't build it, it publishes it as a novella. Good luck hitting the 80-character line limit during a code review
I love how we micro-batched draw calls to hit 60 FPS, then stuffed every field with a 120-char “self-documenting” name - because why store the requirements doc in Confluence when you can cache-miss it in every dereference?
This is what happens when the PM says 'make the code self-documenting' and the junior takes it literally - now the variable names are longer than the actual implementation, and the code review tool crashes trying to display the diff
When your tech lead says 'make the code self-documenting' but you take it as a personal challenge to eliminate all need for comments, documentation, and human comprehension. This is what happens when you implement 'clean code' principles with the subtlety of a sledgehammer - variable names so descriptive they could double as user stories. At this rate, the next sprint will just be renaming 'i' to 'ThisIntegerRepresentsTheCurrentIndexInTheLoopThatIteratesThroughTheCollectionOfGameObjectsInTheScene'. The real kicker? This probably still compiles faster than a Gradle build, and the method names are *still* more concise than most enterprise Java interfaces
When your MonoBehaviour has CallThisWhenThePlayerLosesHealthAndIfHealthGoesBelowZeroThePlayerWillDie(), you’re not doing self‑documenting code - you’ve implemented Documentation‑Driven Development; the call stack is a user story and grep is a literary exercise
Immortality via MonoBehaviour: death state? Nah, just `currentHealth = maxHealth` - state machines are for mortals
Self-documenting code meets Unity serialization: the GameManager doubles as the PRD - rename one field and half your prefabs quietly reset
i_hate_camel_case Comment deleted
Isnt camelCase lower case at first char? Comment deleted
mayBe Comment deleted
Don’t worry I have a more cursed casing system Comment deleted
yea, otherwise it's PascalCase Comment deleted
Thats what I thought remembers me of VisualBasicTimes Comment deleted
camelCase is, PascalCase is not Comment deleted
I use a combination of both💀 Comment deleted
terminate yourSelf 👍 Comment deleted
Why, it's a common C# practice Comment deleted
add some snake case To_spice_Things_up Comment deleted
Parameters and local/private variables are camelCase, Class/Interface/Function/Property names are PascalCase Comment deleted
Private variables inside a class are camelCase with a _ prefix Comment deleted
Now you can cancel me Comment deleted
in assembly we use lowercase in any case Comment deleted
Noice Comment deleted
To be fair we just pretend to care about casing yet we never use the same names with different casing. /s Comment deleted
apart from math functions, they constantly need to reference Engine's library Comment deleted
the gameplay logic is written like that, everything else is handled by the game engine. Unless you're fucked in the head and create a new engine in C++ Comment deleted
I hope this is not a real code but made just for a meme because it smells like a lot Comment deleted
While Java uses camelCase for everything, it's common for C# code to use PascalCase for method names and camelCase for variables Comment deleted
classes in java are in PascalCase Comment deleted
True yet not really relevant 3 days later Comment deleted
nit pick: it's per se, not per say Comment deleted
yes, just you :) Comment deleted
[C.objective mostReasonableTokenLengths]; Comment deleted
Tarkov sources leacked? Comment deleted
if (health < 0) kill_player(); So 0 hp is not a death Comment deleted
please use english in this chat Comment deleted
uint health = 100; Comment deleted
Pls yes also limit data size to 7 bits Comment deleted
Make one for no rust Comment deleted
https://ideogram.ai/g/Jo7C5SzaSeWlpA-6ZwnOWg/1 here's the stuff - https://ideogram.ai/ prompt: protester holding a sign reading "Neural Invalidi!" there 25x4 per day for each gmail very good in fonts protesters can be replaced on anything i started to use it for communication :( Comment deleted
like Main Comment deleted
but methods and variables are in camelCase Comment deleted
void main, int playerScore etc Comment deleted
Why is health a float? Wtf Comment deleted
😂😂 Comment deleted