Skip to content
DevMeme
2397 of 7435
Programmers naming variables: keyboard smash is the default naming convention
CodeQuality Post #2665, on Jan 23, 2021 in TG

Programmers naming variables: keyboard smash is the default naming convention

Why is this CodeQuality meme funny?

Level 1: Mystery Labels

Imagine you have a bunch of jars in your kitchen for sugar, salt, and flour. Instead of labeling them with clear words, you just smash your keyboard and stick a label like "ghfjk" or "xyz" on each jar. Pretty confusing, right? Neither you nor anyone else would know which jar has the sugar versus the salt without opening them. This meme is joking about programmers doing something similar – giving a completely random, nonsense name to something important in their code. Naming a variable with gibberish is like labeling the sugar jar with a scribble: it makes no sense and everyone is left confused about what's inside. It's funny because it's such a silly idea: obviously, it's a bad way to label things. We laugh at the meme because it exaggerates the situation, showing how ridiculous it looks when you don't use a real name. It's a goofy way of saying, "See how crazy it is to name stuff with random nonsense?" and it reminds us that using a meaningful name, whether for jars or code, is probably a good idea!

Level 2: What's in a Name?

In programming, a variable is like a labeled box that holds data. You give each variable a name so you (and others) can remember what's inside. For example, if you have a box storing the number of users on a website, you might name that variable userCount or numberOfUsers. A good variable name describes its content or purpose. This helps make the code understandable. If you see let userCount = 42;, you immediately know that variable holds a count of users. But if someone named it asdf or x, you'd have no clue what it represents without looking elsewhere in the code.

Programmers use naming conventions – basically, agreed-upon rules – to keep names consistent and meaningful. For instance, in many languages we use camelCase (like totalScore or filePath) for multi-word variable names. The goal is readability: others (and future you!) should be able to guess a variable's role from its name. Compare these:

  • Bad variable names: x, data, asdf (no context or hint about what's inside)
  • Good variable names: totalSales, userName, isLoggedIn (clearly indicates what the variable represents)

The meme jokes that "keyboard smash is the default naming convention," meaning that instead of following any sensible pattern, programmers just mash keys to form a name. The top text uses the popular "Nobody:" meme template. This format goes: "Nobody:" (blank – implying nobody said or did anything) followed by "Programmers naming variables:" and then something over-the-top. Here it suggests that even though no one is prompting this behavior, programmers naming variables will do something crazy – like slap the keyboard to pick a name.

In the image, the act of naming a variable is humorously portrayed by a dancing person with a neon-green braid, energetically smashing a keyboard on a concert stage. Of course, real coders don't literally whack keys to come up with variable names, but it's an exaggerated visual gag. It highlights how random and nonsensical some names in code can feel. The joke taps into a common experience: coming up with good names is tricky, so when a developer is tired or stuck, they might actually choose a weak or silly placeholder just to move on (variable_naming_hard is a real struggle!). Later, anyone reading that code will think, "What on earth is hjklxy supposed to mean?"

This is funny to developers because it's relatable humor. Almost everyone writing code has seen (or let's be honest, created) a variable name that was just gibberish or a half-hearted "temp" placeholder. We laugh because the meme tells a truth in a silly way: we know we should use clear, descriptive names, but sometimes you end up with code that looks like someone leaned on the keyboard. It's a light-hearted reminder that naming things is important for code readability and team collaboration... and that we've all slipped up now and then when naming our stuff.

Level 3: The Hardest Problem

Naming variables in code is so notoriously difficult that it's become a running joke in the industry. There's an old quip:

"There are only two hard things in Computer Science: cache invalidation and naming things."
– Phil Karlton

Naming conventions exist precisely to make code clearer, but ironically, when deadlines loom or creativity runs dry, even experienced programmers sometimes default to keyboard smash gibberish for variable names. The meme's top text "Nobody:" (implying literally nobody is asking for this) followed by "Programmers naming Variables:" sets up the punchline: developers often name things as if they just smashed the keyboard, producing names like asdfjk or temp123 that convey zero meaning.

In real projects, this kind of code readability pain is all too relatable. Codebases accumulate oddly named variables like dataList2 or abc when the original author couldn't think of a descriptive name on the spot (or simply didn't bother). These cryptic monikers turn maintenance into a detective game, where future readers (including the original author, weeks later!) have to decipher what xyzz was supposed to represent. It's funny because it's true: we've all encountered legacy functions full of variables that look like a cat walked over the keyboard. This undermines CodeQuality since good naming is part of writing self-documenting code. A variable name should ideally tell you what it holds or why it exists; a random string of characters does neither.

The image juxtaposes a high-energy dance scene with a mechanical keyboard pasted in, implying that naming variables is basically an act of frantic improvisation — almost performance art. The neon-green braided dancer enthusiastically slamming a keyboard captures the absurd drama of a programmer coming up with a new variable name. It's an exaggeration, of course (no one literally slaps keys to name their variables... we hope!), but it highlights a real developer experience issue: NamingThings consistently and clearly is hard. When faced with yet another newVariableNameNeeded moment, even seasoned devs sometimes feel like that dancer, resorting to whatever combination of letters hasn't been used yet.

This humor resonates because every developer has struggled with naming. We often spend more time bikeshedding over what to call something than actually coding its logic. And when we give up, the result is a hodgepodge of var1, foo, bar, baz or random keystrokes. The meme pokes at that shared truth: in the battle between humans and clear naming conventions, entropy often wins. It's a tongue-in-cheek reminder that while best practices and NamingConventions exist, the chaos of real-world coding can reduce even well-intentioned programmers to making variable names by pure instinct (or exhaustion). In the end, the code "works", but anyone reading it later will be throwing their hands up, much like that dancer with the keyboard, wondering what on earth those variables mean.

Description

The meme has two sections. The top shows white text on a black banner that reads "Nobody:" followed by a second banner saying "Programmers naming Variables:". Below, a slightly blurred concert-stage photo shows a dancer with neon-green braids energetically raising her hand beside another woman in a black outfit; a cropped image of a mechanical keyboard is pasted over the scene, implying frantic key-mashing. The visual gag suggests that developers generate variable names by randomly slamming the keyboard, poking fun at how hard consistent naming is in real projects. It highlights a common code-quality pain point that affects readability and maintainability for anyone who has to work with the code later

Comments

16
Anonymous ★ Top Pick We spent two hours bikeshedding between `PaymentVendorAccountId` and `VendorPaymentAccountId`; production bug fixed instantly when someone deployed it as `asdf` - turns out the real invariant is “names are immutable once in Git history.”
  1. Anonymous ★ Top Pick

    We spent two hours bikeshedding between `PaymentVendorAccountId` and `VendorPaymentAccountId`; production bug fixed instantly when someone deployed it as `asdf` - turns out the real invariant is “names are immutable once in Git history.”

  2. Anonymous

    After 20 years in the industry, I've seen entire production systems running on variables named 'thing', 'stuff', and 'doTheNeedful' - and the scariest part is when you realize the original developer who named them is now the CTO

  3. Anonymous

    The hardest problems in computer science: cache invalidation, naming things, and off-by-one errors. This meme captures the second one perfectly - watching a senior engineer name a variable is like watching interpretive dance: dramatic, unpredictable, and somehow both `tmp2` and `theReallyImportantThingThatDoesStuffForTheUserWhenTheyClickTheButton` coexist in the same codebase

  4. Anonymous

    Keyboard‑smashed identifiers have phenomenal entropy and zero intent - great for hash tables, terrible for 3am MTTR

  5. Anonymous

    Because 'x' works until the next dev asks 'which x?', then it's 'xmlHttpRequestResponseDataParserTemporaryHolder' o'clock

  6. Anonymous

    We promised DDD’s “ubiquitous language”; six months later “tmp2” became a blessed column with an SLA

  7. @Kristall_wang 5y

    (null) Null README RENAME

  8. @feskow 5y

    foo bar baz bruh lol

    1. Deleted Account 5y

      +

    2. @zherud 5y

      More like a b c m n i j k l s d e f a1 a2 a3

  9. @realVitShadyTV 5y

    smallint myPenisSize bigint yuourMomSize

  10. @realVitShadyTV 5y

    what what?

  11. @realVitShadyTV 5y

    I mean your mom gay

  12. @realVitShadyTV 5y

    She sleep with my gay mom

  13. @realVitShadyTV 5y

    oh yes 😏

  14. @Magilarp 5y

    k

Use J and K for navigation