Skip to content
DevMeme

Three Spaces Of Formatting Chaos — Meme Explained

Three Spaces Of Formatting Chaos
View this meme on DevMeme →

Level 1: The Weird Ruler

It is like a teacher saying everyone must write with the same ruler, then handing out a ruler marked in weird half-steps nobody likes. The work can still be read, but everyone will complain because it feels wrong in a tiny, constant way.

Level 2: Formatter Rules

CodeFormatting means arranging code so it is readable and consistent: indentation, line breaks, quotes, trailing commas, and similar details. Prettier is a popular tool that automatically formats code, especially in the JavaScript ecosystem.

The visible file is .prettierrc, a configuration file for Prettier. The key setting is:

"tabWidth": 3

That tells the formatter to indent by three spaces. Most teams choose two or four spaces, so three feels deliberately strange. It is not about whether the program will run; whitespace like this usually affects readability and team habits, not runtime behavior.

For newer developers, the useful lesson is that formatting tools reduce arguments only when the team accepts the rules. A formatter can enforce consistency, but it cannot make everyone emotionally ready for three-space indentation.

Level 3: Odd-Numbered Heresy

The entire meme is one tiny configuration file:

{
   "tabWidth": 3
}

The joke is that Prettier and similar formatting tools exist to stop teams from wasting time on whitespace arguments. Instead of debating indentation in every pull request, the team agrees on a formatter, commits a config file, and lets automation be the bad cop. But this config chooses 3, which is neither the common two-space style nor the classic four-space style. It is the formatting equivalent of solving a family argument by inviting a third side to be angry at.

Experienced developers know why this is funny: code style is supposed to be boring infrastructure. Once a formatter is in place, nobody should need to burn social energy arguing about alignment, wrapping, or indentation. A weird tabWidth turns that peace treaty into a provocation. It will make diffs look unfamiliar, annoy muscle memory, and force every contributor to wonder whether the repo is making a serious style choice or just testing the team's remaining patience.

This is Configuration as culture. A .prettierrc file is small, but it becomes policy for every editor, commit hook, CI job, and pull request. The meme works because the visible setting is technically valid, yet socially radioactive. Somewhere a staff engineer is saying, "Consistency matters more than personal preference," while quietly opening a private branch to change it back to 2.

Comments (29)

  1. Anonymous

    Two-space and four-space teams spent years arguing, then someone shipped an odd number and invalidated the whole RFC.

  2. @melanzan

    bruh..

  3. @RiedleroD

    only a monster would do this

  4. @Mazmiy

    What a fu**?

  5. @TERASKULL

    It's not a bug, but a feature

  6. @HolyReaper

    I wish someday I can make kind of tabWidth = 3.5 :D

  7. @sharp_mechanix

    That was the guy who started on Pascal

  8. @skiqqy

    No

  9. @sharp_mechanix

    As far as i can remember, there was a convention to use 3 spaces as indentation

  10. @Daler_XYZ

    It's a Web?

  11. @sharp_mechanix

    And what I saw there is three spaces indentation

  12. @evilyach

    Dank

  13. @UQuark

    You're wrong

  14. @UQuark

    Delphi has 3 spaces indentation

  15. @BigBlackMobile

    Fuck you, leather man

  16. @sunnydaily

    buddy you entered the wrong door

  17. @sunnydaily

    russian community is two chats down

  18. @BigBlackMobile

    Fisting for 300$

Join the discussion →

Related deep dives