Skip to content
DevMeme
4069 of 7435
When GitHub sees your //TODO comment and silently looks away
CodeQuality Post #4438, on Jun 10, 2022 in TG

When GitHub sees your //TODO comment and silently looks away

Why is this CodeQuality meme funny?

Level 1: I’ll Do It Later

Imagine you’re doing your homework and you write a note on your desk that says “I’ll finish this part later.” You feel like you’ve set a reminder for yourself, so everything is okay, right? But then nobody else sees that note, and even you forget about it. Your teacher (like GitHub in the meme) doesn’t come and check your desk for notes – so the homework just stays unfinished. This meme is funny because it’s like telling your chores or homework “I’ll do it later” and expecting the chore itself (or someone around) to hold you accountable, but instead everyone just ignores it. It’s poking fun at procrastination: you made a promise to do something (wrote “TODO” on it), but if you don’t actually plan a time to do it, it’ll simply never get done, and the only response you get is a blank stare.

Level 2: TODO or Not TODO

Let’s break down what’s happening here in simpler terms. In programming, a comment is a note in the source code meant for humans, not computers. For example, in many languages you write // to start a single-line comment. A //TODO comment is a common way to say, “I have something to do here later.” It’s like writing a reminder note inside your code. For instance:

function getUser(id) {
  const user = database.findById(id);
  // TODO: handle the case where user is not found in the database
  return user.name;
}

In this snippet, // TODO: handle the case where user is not found is a comment reminding the developer (or any teammates reading the code) that this function isn’t complete – it should also deal with the situation when a user isn’t found. The code works as is (comments are ignored by the computer), but it’s not fully robust or correct yet. The developer knows there’s a missing piece (no check for a null or undefined user), so they left a TODO note intending to fill it in later.

Now, here’s the funny (or painful) part: Often, “later” never comes. These inline_comments_doomed to be forgotten accumulate in code over time. The meme points out that if you just leave a TODO in your code, GitHub (the site where your code lives, like a library for code) isn’t going to do anything about it. It won’t create a task for you, it won’t alert your team, it just… sits there. The meme uses a reaction image of someone staring blankly to represent GitHub’s non-response. In other words, you (the developer) say to the code repository, “Hey, I’ll fix this later!” and the repository basically goes, “...”, offering no feedback or reminder.

This is a commentary on DeveloperExperience and common workflow. In a healthy software project, when you find something that needs fixing or improvement, you usually do one of two things:

  • Fix it now (best option if it’s quick or critical).
  • Create a task/ticket in a tracking system (like GitHub Issues, Jira, Trello, etc.) so it’s recorded on the team’s to-do list and can be prioritized.

Simply leaving a //TODO in code is a very informal third option: it’s essentially hoping your future self or someone else remembers. There’s no guarantee anyone will see that comment in time. It’s not visible on your project’s task board or backlog. That’s why experienced devs often chuckle at naive reliance on comment reminders – they’ve seen files filled with //TODO that never got done. It becomes a form of TechnicalDebt: unfinished work that should be done eventually. The term technical debt is used to describe what happens when you take shortcuts or postpone necessary improvements – just like financial debt, you “owe” work on the code later. And if you ignore it for too long, it can cause problems (with interest, so to speak, in the form of bugs or harder maintenance). A //TODO comment is basically an IOU for code: “I owe this spot some proper error handling or cleanup later.”

The meme’s joke also touches on CodeQuality and team practices. Relying on TODO comments can be considered poor practice if they never get resolved. Some teams have rules during code_review: if you put in a //TODO, you should also log an official task for it or, better yet, fix it before merging. Otherwise, you’re commenting on debt instead of paying it off. New developers (juniors) often learn this the hard way: maybe you write a bunch of TODOs thinking you’ll get back to them, but then priorities shift or you forget. Months later, someone else reading your code might find those comments and be confused or frustrated: "Was this issue ever fixed or not?". They might even overlook the comment entirely and assume the code is complete, leading to a bug in production because the “to-do” was never done.

GitHub the company (and others like GitLab, Bitbucket) provides tools like issue trackers for a reason – they’re a better place to put tasks that need doing. The meme jokingly implies that GitHub, as a platform, will not magically convert your //TODO into a tracked issue. In fact, GitHub will kind of “look away” unless you take action (just like the woman in the image ignoring the situation). There are actually some developer tools and IDEs (Integrated Development Environments – the software you write code in) that will collect all your TODO comments and show them in a list, acting like a gentle reminder. For example, Visual Studio and IntelliJ IDEA highlight TODOs and let you view them separately. But again, that’s only useful if someone actively checks that list. By itself, a comment in code is passive.

For a junior developer, the takeaway is: Don’t rely solely on comments for important tasks. If something absolutely needs fixing, make sure it’s recorded in a place where your team looks for work to do (like the project’s issue list or backlog). Otherwise, it might slip through the cracks. This meme humorously captures that learning: the developer addresses “GitHub” directly with a //TODO as if expecting the platform to notice, and GitHub’s response is an unmoved blank expression. It’s playfully saying, “We saw your little note, and we’re ignoring it – because that’s your problem to solve, not ours.” This is common DeveloperHumor drawn from real DeveloperPainPoints: we’ve all left a //TODO and realized later that we basically procrastinated on our own work.

In summary, todo_comment_ignored is the theme here: writing a to-do in code and it being effectively ignored by everyone until it possibly becomes a bigger issue. The meme teaches in a lighthearted way that just because you commented “I’ll do this later” doesn’t mean anyone (or any system) will remind you to actually do it. It’s a nudge to handle your to-dos more responsibly or be prepared for them to languish in the code.

Level 3: No Ticket, No Fix

Imagine the GitHub code hosting platform as a stoic bystander in your project – it sees your //TODO CodeComments and just gives a blank stare. This meme, styled as a tweet from GitHub’s official account, jokes that when you write “//TODO” in code (you, the developer) expecting it to prompt action, GitHub (the platform) responds with silence. Why? Because a TODO comment is literally a note to self, and the repository isn’t your project manager. The humor bites deep for seasoned devs who know how TechnicalDebt accumulates: each forgotten //TODO is like taking out a tiny loan against your code’s CodeQuality, a loan nobody remembers to repay. We chuckle (or maybe groan) because we’ve seen codebases where these inline promises fossilize over years. The DeveloperExperience (DX) of reading such code is often painful – you find a comment saying “TODO: handle null inputs” but guess what? Null inputs went unhandled and just caused a 3 AM outage. 🤦‍♂️

The tweet format frames it perfectly: You (the developer) blithely leaving a //TODO hoping someone (maybe Future You, maybe a kind reviewer) will pick it up; Us (GitHub, personified) doing absolutely nothing – represented by that blank, unamused stare from the reaction image (actress Kathryn Hahn mid-wink, for meme connoisseurs). It’s a spicy take on DeveloperHumor and a nod to the bystander effect in programming: everyone who sees the comment assumes someone else will fix it later. In reality, unless you convert that TODO into a formal task (like a GitHub Issue or a ticket in your backlog), it will be ignored. Veteran engineers have a saying: "If it’s not in Jira (or your tracker of choice), it doesn’t exist." A //TODO in code is invisible to your sprint planning – it’s the easiest way to overlook work. This aligns with the meme’s subtext: GitHub isn’t about to create an issue for you or send a magical pull request to fix your //TODO. The platform silently looks away because that comment is your responsibility, not an actionable item by itself.

From a senior perspective, the meme also highlights a classic TechDebt trap. Each //TODO is essentially a debt marker—a bit of incomplete work intentionally deferred. And like financial debt, tech debt can accrue interest: the longer you ignore it, the harder and costlier it becomes to address. That “temporary workaround” you meant to fix might evolve into a critical flaw. Seasoned devs have all stumbled upon ominous comments like // TODO: remove this hack, temporary fix for launch 2019 sitting untouched in 2022. 😬 The comedic pain here is knowing such comment rot is pervasive. It’s relatable: we laugh because we’ve resigned ourselves to the truth that an in-code TODO is often a euphemism for “Ain’t nobody got time for that now... maybe never.”

There’s also a bit of dark irony concerning CodeQuality and tooling. Modern continuous integration and code review practices aim to catch issues, but //TODO often slips through because it’s not a failing test or a compilation error – it’s just a human note. Unless your team uses special tooling or code review discipline to flag TODOs (some linters or CI checks can be configured to fail if TODOs exist), these comments are effectively invisible to the system. GitHub, by default, doesn’t treat TODO comments in any special way. It’s just part of the code text. Sure, you can manually search your repo for "TODO" (using git grep "TODO" or GitHub’s search), but that requires someone to remember to do it. Often, nobody does until a new developer is combing through the code thinking, "What ever happened to this 'todo_comment_ignored' here?"

This meme resonates because it satirizes a common DeveloperPainPoints: the disconnect between our intentions and reality. We intend to fix things later, we drop a TODO as a token of that intention, but reality (in the form of a silent GitHub and an indifferent codebase) doesn’t enforce it. It’s a gentle roast of our human tendency to procrastinate in code – and the code’s tendency to keep our procrastinations on record. In short, the meme uses GitHub’s “reaction” to humorously remind us: writing //TODO is not the same as doing it. No automated guardian angel in your repository will solve it – if you don’t plan it, someone in the future (maybe you, maybe your poor colleague) will be stuck with that lingering TechDebt. And as every battle-weary coder knows, that future fix usually happens at the worst possible time (cue the Friday evening deploy fiasco when an ignored TODO blows up).

So the next time you’re about to push code with a casual //TODO, remember this meme’s lesson: either make a proper plan for that task or prepare for GitHub’s blank stare and the sound of crickets. The code won’t fix itself, and the platform’s not gonna tattle to your project manager. No ticket, no fix. This darkly funny truth is why experienced devs smirk at this meme – it pokes fun at our own bad habits while underscoring an important point about accountability in software development.

Description

The meme is formatted like a tweet from the verified GitHub account. The tweet text reads: "You: //TODO Us:". Below the text is a reaction image: a medium-shot photo of a woman standing in front of a greenish background, her face intentionally blurred for anonymity, wearing a dark blouse over a collared shirt, staring blankly ahead. Part of another person in a patterned shirt is visible at the right edge, also ignoring the viewer. The comedic juxtaposition implies that while developers leave TODO comments expecting action, the platform (personified by the blank stare) does nothing, highlighting technical-debt-laden comment rot familiar to seasoned engineers

Comments

16
Anonymous ★ Top Pick A //TODO is basically a time capsule - by the time someone opens it, the author’s LinkedIn says “ex-founder,” the framework’s EOL, and the comment has quietly become a core SLA
  1. Anonymous ★ Top Pick

    A //TODO is basically a time capsule - by the time someone opens it, the author’s LinkedIn says “ex-founder,” the framework’s EOL, and the comment has quietly become a core SLA

  2. Anonymous

    After 15 years in the industry, I've learned that TODO comments are just breadcrumbs we leave for our future selves to discover during the post-mortem of why that critical edge case wasn't handled. The real tragedy isn't the TODO itself - it's the git blame showing it's been there since 2019 with 47 commits that carefully worked around it

  3. Anonymous

    The real tragedy isn't the TODO comments themselves - it's that grep-ing your codebase for '//TODO' returns 847 matches, 600 of which are from developers who left the company 3 years ago, 200 are now impossible to implement due to architectural decisions made since, and the remaining 47 are yours from last sprint that you've been successfully avoiding during every standup by saying 'I'll get to that next.'

  4. Anonymous

    //TODO is the write-only API to GitHub Issues - priority: Eventually, SLA: heat death, assignee: Future You

  5. Anonymous

    TODOs: scaling debt horizontally without ever needing Kubernetes for orchestration

  6. Anonymous

    //TODO is an append-only log; 'issues' is the compaction step we never schedule

  7. @GTRst 4y

    huge cakehole

    1. dev_meme 4y

      bro Your Eyes 🤯🥰

  8. P S 4y

    I feel attacked.

  9. dev_meme 4y

    Don't Wory I'm guy

    1. @RiedleroD 4y

      gay spotted

      1. dev_meme 4y

        Nah xd

        1. @sylfn 4y

          superset of gay (надмножество)?

          1. dev_meme 4y

            I have no Idea about what You Say

            1. @sylfn 4y

              and i have no idea how to explain

    2. @GTRst 4y

      I'm straight but thanks anyway 😃

Use J and K for navigation