r/ProgrammerHumor • • Sep 06 '26

Meme cleaningUpTheMess

Post image
16.2k Upvotes

482 comments sorted by

6.5k

u/lookingformerci Sep 06 '26

Yeah but 3.2M of those lines were comments. Good lord AI loves to comment code.

3.1k

u/ClipboardCopyPaste Sep 06 '26

"well-documented code"

1.2k

u/lego3410 Sep 06 '26

Well coded document?

285

u/ardicilliq Sep 06 '26

Document-coded well

124

u/martian4x Sep 06 '26

Code well documented

136

u/SpaceCadet87 Sep 06 '26

well documented

// Yep, it's a well

38

u/nutterbg Sep 06 '26

Well well well

18

u/Contemelia Sep 06 '26

Document Document Document

→ More replies (4)

6

u/RitwikSHS10 Sep 06 '26

Documented well?

wall shifted

→ More replies (1)

3

u/FX_mc Sep 07 '26

No, bad coded document.

→ More replies (1)

272

u/oauo Sep 06 '26

// Step 123: // Now we add the numbers. // We add number by using the “+” sign. // The output of this addition can be used as-is or it can be assigned to a variable or constant. // It’s really one of the most basic things you can do when programming, so in the off-chance that these comments are necessary I will explain a few other things. // You can use other operators such as: // “-“ to subtract // 3 - 2 == 1 // “*” to multiply // 2 * 3 == 6 // “/“ to divide // 6 / 3 == 2 // Although, all of them have been used prior. let foo = bar + baz

55

u/rainhunter007 Sep 06 '26

😂 i’ve seen this in my own code before!

45

u/click-to-reveal Sep 06 '26

plot twist: it's string concatenation

24

u/Training-Chain-5572 Sep 06 '26

Nonsense. AI generated comments would add line breaks mid sentence so it would be even more lines

3

u/candybrie Sep 07 '26

let foo =        bar + baz

5

u/screwcork313 Sep 06 '26

You would think a past programmer would have added bar and baz, and found the result to be foo, thus making doing the same computation in this program a waste of time and resources. We know it comes to foo, so just use foo.

→ More replies (1)
→ More replies (7)

52

u/BlachEye Sep 06 '26

You forgot note emoji so it would be really well commented

14

u/Demytreus Sep 06 '26

And for visual studio to fuck it up on reload because who the fuck uses Unicode for code files (except for languages that do use it, like Chinese, Japanese, etc.)

17

u/quuxl Sep 06 '26

I prefer the euphemism “highly-documented code”

→ More replies (1)

8

u/Worldly-Stranger7814 Sep 06 '26

It’s worse than trying to read recipes online.

→ More replies (4)

321

u/mtmttuan Sep 06 '26

```

print result

print(result) ```

397

u/pascaruchan Sep 06 '26 edited Sep 06 '26

```
# Prints the result, because we need to confirm that the result itself is
# correct. The intermediate steps that led up to this point are not what
# we are verifying here — they have their own checks elsewhere. What
# matters at this stage is the final value, so it gets printed explicitly
# rather than being left silent. This particular output is important
# enough to keep, even though the earlier ones were removed.
print(result)
```

97

u/Hakim_Bey Sep 06 '26

I love when it references past anecdotes as if they matter to the code at hand.

// we used to write the result to a /tmp file but switched 
// to logging it to console after the taco incident

47

u/m0erg Sep 06 '26
// see previous comments about tacos

22

u/jameyiguess Sep 06 '26

this makes me crazy. it's like the codebase becomes a personal journal for it.

6

u/Derin161 Sep 07 '26

I was having this problem incessantly this week. I made Claude write some memories to stop explaining how the code used to be

5

u/Hakim_Bey Sep 07 '26

I was working on an agentic harness for a client and for some reason i prompted it like "every morning at 8am write a poem about <insert name of my previous boss>". This exposed a bug so i started working on it and when the fix was packaged i realized Claude had mentioned poetry everywhere. In the commits, in the comments, in the PR's title and body. This is so stupid y'all.

→ More replies (1)

59

u/joemckie Sep 06 '26

eye twitch

17

u/cantileverboom Sep 06 '26

What it's like reading AI generated comments

https://youtu.be/RXJKdh1KZ0w

21

u/Anonymous_Jr Sep 06 '26

"The A.I. doesn't know what it is saying because it knows what it isn't saying; and it says what it doesn't know because it says what it isn't knowing."

→ More replies (1)

52

u/StrikenGoat420 Sep 06 '26

As someone who uses Claude code heavily at work hahahahhahahaha

→ More replies (1)

52

u/Storiaron Sep 06 '26 edited Sep 09 '26

Meanwhile extremely unintuitive parts of the code, or the reason for an architectural decision just goes unmentioned.

Obviously because the ai has no concept of how they came to that decision in the first place

5

u/TheHamBandit Sep 06 '26

This is why when I vibe code something that's going to be on the internet and other people will want to maintain or modify, I provide a requirements document in addition to a summary document of every architecture decision, feature, and if it was AI designed, User directed functional choice, or user directed technical choice. That way it's easy to work backwards and see why something is the way it is. 

258

u/vini_2003 Sep 06 '26

Claude, especially. FAAAH!

267

u/Skoparov Sep 06 '26

Useless comments is one thing, but I've caught the bastard several times DELETING manually written actually useful comments. Like you ask it to move some parts of the code around and it moves the code but not the comments.

72

u/Top-Permit6835 Sep 06 '26

Well your fault for not asking it to move the comments too of course!

27

u/TeraFlint Sep 06 '26

"Please also move the comments"

the file now starts with a comment that used to be somewhere inside a loop in line 386.

9

u/mbmiller94 Sep 06 '26

Hey, you said move the comments, you didn't say they had to be moved to the same place as the code. Sorry about that! Let me move both the code and the comments to /dev/null

47

u/[deleted] Sep 06 '26 edited 6d ago

[deleted]

6

u/mbmiller94 Sep 06 '26

Skill issue. You forgot to include "make no mistakes" in the prompt.

10

u/polikles Sep 06 '26

did you forget to instruct it to "make no mistakes"? /s

9

u/Skoparov Sep 06 '26

Turns out those weren't mistakes, but rather happy accidents.

→ More replies (4)

101

u/imnotamahimahi Sep 06 '26

something I've been messing around with, is giving it an instruction to write comments in caveman-ultra mode. so far, doesn't decrease the frequency of comments, but definitely the verbosity.

118

u/MoneyWorldliness3626 Sep 06 '26

"For comments: state facts and use simple langauge with short sentences. Follow softened ASD-STE100 standard and use light caveman mode."

And Caveman and ASD-STE100 are defined as skills. This seems to work for me.

29

u/ings0c Sep 06 '26 edited Sep 06 '26

Caveman and ASD-STE100

I thought the latter was a specification you’d made up that writes comments in the style of an autistic robot named Ste 😂 I’d get along with him more than a T-1000

​

​ That’s actually really cool: https://en.wikipedia.org/wiki/Simplified_Technical_English

Someone made a Claude skill and there’s some other suggestions in the comments https://www.reddit.com/r/claudeskills/comments/1v2oad4/i_combined_orwells_6_writing_rules_with_asdste100/

​

​

Before I cause offence: autism isn’t funny and I’m also autistic. I’m not laughing at autism itself.

→ More replies (4)

17

u/LiifeRuiner Sep 06 '26

Why not give it an instruction to not write comments if that's your goal?

33

u/FalafelSnorlax Sep 06 '26
  1. It will probably still write comments.
  2. They didn't say they want no comments, they said they want to "decrease the frequency".

8

u/ListRepresentative32 Sep 06 '26

Then it will randomly still write a comment with something like // I omitted comments for this file as you asked. 

It did this to me once.. opus 5 is so annoying with comments

→ More replies (2)
→ More replies (1)
→ More replies (3)

24

u/Fine_Foundation8943 Sep 06 '26

Did u just type out the FAAAH sound effect?

10

u/hawkinsst7 Sep 06 '26

I got into an argument with some chucklefuck here who typed out "ahh" instead of ass, and they insisted it was ebonics and not tiktok censorship slang.

We're fucked.

→ More replies (1)

5

u/OnceMoreAndAgain Sep 06 '26 edited Sep 06 '26

I have a different opinion on this because I see those comments as useful context for Claude to learn from on future conversations.

Comments used to be for humans to read but imo now they're more for Claude to leave itself notes for itself. Also, long comments are annoying to humans because it takes us a long time to read them but Claude reads them instantly so that isn't a problem.

I expect we'll evolve to have docs/comments meant for humans to read and separate docs/comments meant for agentic AI to read.

→ More replies (2)

144

u/Zapismeta Sep 06 '26

Well you complain now but this was one of the biggest complaints when the code didn’t have good comments and was considered a skill to acquire, and well it did learn most of its skills from the internet.

258

u/CoroteDeMelancia Sep 06 '26

You're right to push back on this.

68

u/Ill-Quantity2065 Sep 06 '26

The smoking gun 

29

u/da2Pakaveli Sep 06 '26

i'm zeroing in on it!

39

u/ComprehensiveBird317 Sep 06 '26

Your reply reveals 2 insights with one being surprisingly significant 

13

u/CoroteDeMelancia Sep 06 '26 edited Sep 06 '26

And that matters.

13

u/hawkinsst7 Sep 06 '26

I should remove comments. But wait. The user said they wanted comments previously. And now I'm being instructed to reduce comments. The safest thing to do is use comments, but make them irrelevant. I will use the text of Beowulf as my comment source.

7

u/Hakim_Bey Sep 06 '26

and this is where the analogy cuts deep

4

u/RegularReaction2984 Sep 06 '26

This is a real, structural difference, not an insignificant detail.

49

u/outwest88 Sep 06 '26

And honestly? You’re absolutely right.

65

u/lookingformerci Sep 06 '26

That's fair - and honestly I let it comment away, future LLM's can read it and have context.

47

u/Crazy_System8248 Sep 06 '26

Now I have the full picture!

20

u/lookingformerci Sep 06 '26

The smoking footgun, even!

12

u/Rustywolf Sep 06 '26

Not an em dash, low.effort impostor smh

→ More replies (1)

48

u/lolnic_ Sep 06 '26

The comments it writes aren’t good. It’ll write comments in protobuf service definitions that describe implementation details of the persistence layer. In Python docstrings it’ll describe the entire history of the universe around the thing it’s documenting but fail to describe the abstraction the thing provides.

This is probably the optimal way to write docstrings if the reader is an AI agent. They can read any docstring, anywhere, and understand the complete system that surrounds it. An AI agent who wants to know what a function does will read the function’s code, so documenting the function in the function’s own docstring is suboptimal.

It’s a terrible way to document code if the reader is a human who wants to know
1. What the thing does or represents, at the appropriate level of abstraction.
2. Which aspects of the thing’s behaviour can be relied upon, and which aspects are subject to change.

It’s also very hard to keep all these “inverted” docstrings up to date, and it’s impossible to attribute bugs to modules if encapsulation doesn’t exist.

→ More replies (4)

6

u/Ozryela Sep 06 '26

You're right that there was a time that programmers were really pushed to document basically every line of code, and you got all these ridiculous comments like "adds 1 to variable" or "returns an int".

But I associate that with the 90s and early 00s. It had fallen out of favor years before AI came along. In the years before AI came along, all the rage was about "self-documenting code".

So it honestly is kind of surprising to see AI adopt an paradigm that feels so outdated. I guess the training data used for AI is often just very old code.

→ More replies (2)

3

u/A1oso Sep 06 '26

AI typically only writes comments explaining how the code works, but not why it was implemented that way. That's the important part.

→ More replies (1)
→ More replies (15)

27

u/SlincSilver Sep 06 '26

Or straight up .md documents that do not add any value to the codebase

17

u/wheres_my_ballot Sep 06 '26

I remember one repo handed to me by a vibe coder who told me to read the spec... there were 25 of them in the same place...

39

u/mtmttuan Sep 06 '26

That's your fault. You're supposed to vibe-read the spec.

19

u/XenonBG Sep 06 '26

You're kidding, but last week I got a 42-page architecture document for a meeting that was supposed to take place in two hours.

When I said there was no way I had time to read that document on time, I got told I was supposed to ask an LLM to extract the things I find important.

When I got to look at the document, it turns out it's generated.

So I was supposed to ask an LLM to read an LLM-generated document for me.

7

u/GourangaPlusPlus Sep 06 '26

Just send me the prompt

→ More replies (1)

7

u/pants_full_of_pants Sep 06 '26

The comments and md files aren't for you. They're for the next 5 separate models in different contexts that will have to work on it next. I find the agents produce better work with less chance of random shit happening down the road if you encourage it to document the specs and system maps as it goes.

But I'll agree, it makes the repo feel a lot more cluttered and unpleasant to read and navigate.

5

u/Draqutsc Sep 06 '26

They do nothing, except make the model worse! Unless you write them yourself. AI made MD files are full of useless stuff.

https://arxiv.org/pdf/2602.11988

→ More replies (1)
→ More replies (1)

30

u/GenericFatGuy Sep 06 '26

And pointless null checks.

6

u/nonotan Sep 06 '26

Pointless null checks aren't that bad. Because they might be pointless at the time the code was added, but is every single person who touches the code afterwards going to be aware that there's an intentionally omitted null check that hinges on unwritten assumptions that happened to hold at the time the code was written?

And sure, you could explain that in the comments, which is okay, but still more prone to accidents than just having the pointless null check that the compiler will probably optimize out anyway. Unless it's in a very performance-sensitive bit, it's not like it's going to be a noticeable performance hit. I'd rather have slightly excessive checks than bugs in production because somebody wanted to make the code run 0.00001% faster.

→ More replies (1)

15

u/WeirdIndividualGuy Sep 06 '26

Me when I’m still using Java in 2026 and refuse to use Kotlin despite its complete interoperability with Java code

5

u/A1ianT0rtur3 Sep 06 '26

Codex deletes all my actually useful comments every time it makes an update that touches that section

3

u/Awes12 Sep 06 '26

I wonder where it got its training data from lol

20

u/NeonFraction Sep 06 '26

I spent years documenting and commenting my code extremely well. It was probably the most helpful favor I ever did myself and I was extremely proud of it.

Now it’s a sign of AI.

…I’m tired man.

20

u/petrasdc Sep 06 '26

Nah, I can definitely tell the difference. AI leaves comments with unnecessary random details that no normal person would ever include. It also tends to write like paragraph long comments with unrelated bits of information. I've seen it write comments for functions that take longer to read and understand than it takes to literally just read the code and fully understand it.

7

u/TheNewAspect Sep 06 '26

int universeMeaning= 42;
int* ptr = &universeMeaning;

// Establish a pointer to the memory address occupied by the variable containing the fundamental meaning of existence. Rather than redundantly allocating a second integer and copying the metaphysical constant therein, we instead retain a reference to the original manifestation of universal purpose, allowing subsequent operations to access the value indirectly through its location in memory. The pointer itself contains not the meaning (42), but the precise coordinates at which meaning may be found. This is, technically speaking, unnecessary for an integer of this magnitude, but demonstrates the foundational principle of indirect memory access upon which much of modern computing rests. In short: the universe means 42, and we have acquired its address.

6

u/BriefSpecial420 Sep 06 '26

More tokens to burn! $$$

3

u/TheNewAspect Sep 06 '26

I will still remain upright at night feeling regret for posting that. All I asked was for ChatGPT to write documentation for a C++ pointer (the object names I gave) to explain it

→ More replies (2)
→ More replies (1)

18

u/bureX Sep 06 '26

Trust me, I know the difference between someone documenting something and AI slop.

AI slop usually describes the code in unnecessary detail and then provides very thin context.

5

u/unipleb Sep 06 '26

Reminds me that many years ago in an intro to web class, we had an assignment to make a website in Dreamweaver where we were mostly shown how to use inline styled html tables for a layout, but were given freedom to make what we wanted. I was ambitious and wanted to use divs and CSS with an external stylesheet. So to try and prove that I was understanding what I was teaching myself I took extra effort meticulously commenting all of the CSS, explaining what everything did. The instructor feedback was that I shouldn't have used an online template, which they assumed I'd used because of all the commenting throughout the CSS file. Facepalm moment because I'd written all of those.

→ More replies (1)

3

u/McRawffles Sep 06 '26

Good comments are as useful as the code itself. Nobody, not even yourself, is going to remember the reason you made all the decisions you did

Don't stop or feel bad about doing something just because AI does it. AI is literally sourcing what it does off of us

3

u/SignoreBanana Sep 06 '26

It also loves edge case testing typescript.

3

u/ImJustHereToBuyStuff Sep 06 '26

I comment my code like crazy. Its extremely helpful when myself or someone else needs to undesign it months/years later  

→ More replies (2)

5

u/Moe_Baker Sep 06 '26

And do null checks everywhere, AI loves to make sure the code runs even if it's missing an arm, a leg and half a brain

5

u/ings0c Sep 06 '26

In C# it’ll do the below even with Nullable enabled

public void MyMethod(string arg)
{
    ArgumentException.ThrowIfNullOrWhiteSpace(arg);
}

Like I get that it’s a runtime check instead of compile time, and this is a reasonable thing to do if the caller isn’t your own code, but in my case it’s just me calling it. Why even bother enabling Nullable if you’re going to runtime check everywhere as well.

3

u/zaersx Sep 06 '26

As it should, if you try to work on a project of even barely medium complexity with AI coding you'll see it make breaking drive-by changes all the time if the business logic intent is not documented alongside the code. And when tests break, it assumes that's intentional, since it just changed the code, so now it should change the tests too.

4

u/Exotic_Zucchini9311 Sep 06 '26

"Sir there are some codes inside my comments"

2

u/sjwjs Sep 06 '26

CDD Comment driven development

2

u/Teles_sd Sep 06 '26

c // You're absolutely right!

→ More replies (38)

1.9k

u/Rainbow-Dev Sep 06 '26

Deleted tests, replaced with autonomous agent QA

429

u/Useful_Trust Sep 06 '26

Why do we even need tests? Like ship it instantly, whats the worse that can happen?/s

95

u/DadAndDominant Sep 06 '26

We uses to want to know what we were building and that it worked

Both stripped from us by the AI

11

u/OneBigRed Sep 06 '26

So what did we build? I’m not 100% on the specifics. But is it tested? We have apparently tested many things, but i’m not 100% on what and why. But let’s put it out.

→ More replies (1)

19

u/CoshgunC Sep 06 '26

and if the user's app fails, blame them!

10

u/gnutrino Sep 06 '26

Don't want to waste time testing code the user won't notice is broken, ship it and fix what gets complained about the loudest.

14

u/Useful_Trust Sep 06 '26

If the contact page is broken, they can't contact you

https://giphy.com/gifs/9058ZMj6ooluP4UUPl

→ More replies (1)
→ More replies (3)

30

u/DrQuint Sep 06 '26

Remove the code. Just have an AI agent perform all of the programs tasks individually.

What? This is exactly what somepeople think AI is for.

→ More replies (1)

14

u/treehuggerino Sep 06 '26

I've seen a repo mostly written by Claude with at 700/900 test being so useless like "does object A serialize, does object A deserialize" for like almost all models in the repo, I was just stumped since the application barely did anything

3

u/roastedferret Sep 06 '26

The only justification I could see for (de-)serialization testing is for models which get updated enough that someone could accidentally add an incompatible field and not notice. Somehow.

→ More replies (1)

3

u/dangderr Sep 06 '26

The only “test” you need is adding “make no mistakes” at the end of the prompt. If there are no mistakes why would there be bugs?

→ More replies (1)

1.2k

u/smartgenius1 Sep 06 '26

I'm assuming the vibe coder accidentally checked in a dependency manager's package folder (like node_modules)

55

u/DerpWyvern Sep 06 '26

are 3.6M deleted lines you can assume every wrong thing

252

u/Zapismeta Sep 06 '26

Always let claude scaffold the project that way it makes you a gitignore which you were almost always gonna forget.

196

u/hk4213 Sep 06 '26

Thats literally rule one on a shared repo... new repo equals new git ignore.

232

u/SuitableDragonfly Sep 06 '26

You're not going to forget it when you run git status and see all the stuff that is staged for commit. If you're not doing that as a regular part of your workflow, you don't know git well enough to use it, IMO.

85

u/drewskitopian Sep 06 '26

I prefer uploading my code changes to a shared folder one drive

14

u/NovembersHorse Sep 06 '26

“pixi is useless for us, it’s causing havoc in sharepoint.” Is real feedback I got.

9

u/wwwyzzrd Sep 06 '26

you don’t have Release2.0_final_final_final.zip?

I feel bad for you.

17

u/PhireKappa Sep 06 '26

I work for an investment bank, most of my colleagues use the Git GUI within IDEs such as IntelliJ and just select all changes. I recently saw a colleague ask Copilot with Opus 4.8 to git commit and push. Most people are not even touching the CLI…

15

u/Entuaka Sep 06 '26

I hate it now that AI is trying to commit without asking it, it's ready to commit when I'm ready!

6

u/bogz_dev Sep 06 '26

i suspect Claude tries to do this so it can add its signature to the commit message

6

u/Entuaka Sep 06 '26

Yes, probably

4

u/SchwiftySquanchC137 Sep 06 '26

I was wondering if it also helps it with context. Like it can quickly see exactly what has been changed since its own last commit, rather than spending the tokens to figure it out.

→ More replies (1)

3

u/Sp1derX Sep 06 '26

I use the GUI in Rider and always make sure the changes being committed are correct cuz is easy to do. I haven't used CLI git exclusively in a decade. 

→ More replies (11)
→ More replies (4)

14

u/Tiernoon Sep 06 '26

I had someone at work let Claude make a whole project for Unity and it put the packages folder in the git ignore.

No access to the same packages list which absolutely broke everything for other people.

I really don't understand why this crap would hallucinate the gitignore and not just "I've searched the web for the most up to date git ignore fron Unity".

These people also don't know Unity at all, if I didn't come over to check for them, I assume they'd have been at this for days.

25

u/CantTakeTheStupid Sep 06 '26

Found the vibe coder

21

u/HeartKeyFluff Sep 06 '26

Legit. Vibe coder or at least very junior.

What do you mean you'd forget it? You'd remember you don't have a .gitignore (or a properly set up one, at least) the moment you go to commit for the first time and see there's a whole lot of crap you almost staged that shouldn't be there.

That is, unless you're not checking anything you're committing. Which is, needless to say, "Bad ™️".

5

u/rinsa Sep 06 '26

Hah, bold of you to assume they're the ones making the commits!

Claude, make no mistake.

→ More replies (2)

8

u/ResponsibleWin1765 Sep 06 '26

Maybe you were almost always gonna forget. I've never forgot a gitignore because I see the million files that get staged.

3

u/johnnybgooderer Sep 06 '26

That’s what I was thinking. How is it possible to forget. I do often forget until the first commit where I see a bunch of editor and build files being staged.

8

u/Ok-Lawfulness1515 Sep 06 '26

I literally cannot imagine forgetting gitignore.

"Always put your clothes on in a way that makes you remember to wear pants."

→ More replies (1)
→ More replies (1)
→ More replies (2)

260

u/[deleted] Sep 06 '26

[removed] — view removed comment

61

u/hohobe Sep 06 '26

Chore: Deleted 999 stale documentation

133

u/TallAbbreviations937 Sep 06 '26

Truly inspirational AI-assisted archaeology.

146

u/International-Top746 Sep 06 '26

Cleaning up vibe coded repo with more vibe coding.

75

u/johnnybgooderer Sep 06 '26

Not all AI assisted coding is “vibe coding”.

→ More replies (22)
→ More replies (3)

68

u/JealousEntrepreneur Sep 06 '26

I think LLMs comment so much in code is because they use grep as tool call all the time to find the relevant code they want to change. So giving it a long detailed description helps it to find it later

68

u/patcriss Sep 06 '26

My hypothesis is that verbose comments use more tokens and generate more profit.

5

u/asd417 Sep 08 '26

input tokens are much cheaper than writing token which also includes reasoning token. if they wanted to tokenmax, then they would leave 0 comments so that LLM would have to reason the same thing over and over and generate massive amount of tokens every single code search. It takes significantly less tokens to write down the comment once and simply read it next time.

→ More replies (2)
→ More replies (4)

608

u/SuitableDragonfly Sep 06 '26

All I see is one vibe "engineer" taking over from another. No one sane is making PRs with 10k new lines of code in them. 

133

u/One-Next Sep 06 '26

"Create a +10,000/-3,000,000 loc pr, make no mistakes."

175

u/timonix Sep 06 '26

Dont think those are new lines. Could be indentation, or just things that the gitdiff doesn't understand is the same

26

u/SuitableDragonfly Sep 06 '26

You shouldn't have a PR where you edited 10k lines of code in a way that triggers the git diff, either.

47

u/Ok-Lawfulness1515 Sep 06 '26

This is almost certainly slider noise, in which case he didnt edit any lines.

Its also complete insanity to stack >1000 PRs to get readable diffs to delete this many loc, so idk what you're talking about. There are no best practices in a situation where you have 3 million extraneous lines of code in a single repo. Its extraordinary enough that there is no body of experience to draw on.

This was just likely correct and there was no need to try and feel superior about it.

→ More replies (6)

15

u/Nidalee_Player Sep 06 '26

Change your formatter settings and this is very possible. As long as prs of this size are programmatic and clearly explained they're fine.

→ More replies (1)
→ More replies (1)

72

u/SEX_LIES_AUDIOTAPE Sep 06 '26

A nuke like this would easily have 10k lines copied to somewhere else.

3

u/Ok-Lawfulness1515 Sep 06 '26

One diff slider event per 300 lines deleted. Its about right.

Probably a few from a missing gitignore and readme, maybe a changelog, etc.

6

u/JuvenileEloquent Sep 06 '26

The funny thing is that this PR was probably also made by AI, with instructions to reduce redundancy and streamline the logical flow. So the original vibe coder could have done it at any time, but had no idea that several million lines of code is not a reasonable number for the size of the project. It's very much "How much could a banana cost? $10?"

32

u/DenkJu Sep 06 '26

I don't like generalized statements like that. A PR should have as many LOC as necessary to implement the respective feature. There's little value in splitting up changes that logically belong together just to meet an arbitrary LOC target.

14

u/SuitableDragonfly Sep 06 '26

No, it shouldn't. A PR should have an amount of code in it such that it can actually be reviewed. 10k lines of code is not that amount. There is plenty of value in splitting a PR up into smaller pieces that can be reviewed as opposed to keeping it in one chunk that can't be.

Sometimes you have to be creative and do a little bit of experimentation to figure out how to break it up, but being able to do that is part of the job, and if you can't do it, you can't do the job. I was once directing a project to convert all the IDs in every database accessed by every microservice at the company from integer IDs to UUIDs. All these objects were all interacting with each other and referencing and using each other's IDs, so it was tricky to break up into smaller tasks, but I figured out how to do it, because that's what you do when you have a job to do.

34

u/NethDR Sep 06 '26

Honestly, in a "delete everything and start over" scenario such as this one, i feel like what you suggest would inevitably devolve into a flurry of "replace this pile of crap with a smaller temporary pile of crap because anything proper would require a pr which is too large". I've never been in a position like this, but what i'd do is make a new branch where i delete everything, slowly build everything up while almost treating that as a main branch (so, everything done with new branches and prs) , then inevitably a massive pr such as the one in the image will occur to merge that into the actual main, but this would already be backed by a lot of previous reviews.

→ More replies (1)
→ More replies (44)

3

u/[deleted] Sep 06 '26

[removed] — view removed comment

4

u/SuitableDragonfly Sep 06 '26

Well, maybe not, depending. Just straight up deleting an entire file is usually a very quick review. 

→ More replies (37)

16

u/PhiCloud Sep 06 '26

On the one hand, a PR should be a small, atomic change. Anything over a thousand lines changed is kind of suspect.

On the other hand, the project was vibe coded so it's not like there's any continuity or iteration to uphold. Burn it the fuck down.

→ More replies (2)

59

u/Rasty90 Sep 06 '26

"vibe engineer"? you mean a computer snake oil salesman?

7

u/[deleted] Sep 06 '26

[removed] — view removed comment

9

u/Rasty90 Sep 06 '26

YES OF COURSE! we only sell the best claude tsuchinoko snake oil! satisfaction guaranteed!

→ More replies (2)

67

u/evilspyboy Sep 06 '26

3 months and 3 million lines of code is.... Impressive.

I have something I'm building for over a year (with coding agent help of course like everyone lately) and I think I'm at 1.2m lines but it is a complicated enterprise grade thing.

91

u/SignoreBanana Sep 06 '26

It's impressive like it would be impressive to see someone shit themselves while running.

16

u/evilspyboy Sep 06 '26

3 million is more mid-triple backflip

→ More replies (1)

3

u/T3RRYT3RR0R Sep 06 '26

Surely this is a team endeavor?

3

u/Protuhj Sep 06 '26

Yeah, them and the coding agents.

→ More replies (6)

14

u/vmf312corsair Sep 06 '26 edited Sep 07 '26

Lol. What, back in the stone age, I called that "janitorial programming".

Cleaning up other people's messes.

8

u/eeiaao Sep 06 '26

…and then I wake up

6

u/plmunger Sep 06 '26

A "Vibe Engineer" isn't an engineer

6

u/nakahuki Sep 06 '26

Plot twist : bro just add node_modules to .gitignore.

6

u/DaringNinja Sep 07 '26

Working with someone who’s fully vibe coding. No knowledge of computer science in the slightest. His repo had more lines of documentation than code. And manually versioned files everywhere.

4

u/dirtydenier Sep 06 '26

„Rewrite this, but make no mistakes this time”.

4

u/kondorb Sep 06 '26

Deleted all the LLMs comments.

Which are actually really useful when you’re also using LLM to reason about that code.

5

u/shadowdance55 Sep 06 '26

In most cases, the comments simply describe exactly what the code is doing. Neither humans nor agents need that.

4

u/kaas_is_leven Sep 06 '26

Vibe engineer has got the be the most oxymoronic term ever

4

u/RichWeekly1332 Sep 06 '26

We seriously need to stop calling these people "engineers".

3

u/totemo Sep 06 '26

I thought I was in r/ProgrammingHorror for a minute.

4

u/Stunning_Ride_220 Sep 06 '26

V.I.B.E. - Very Ignorant Bad Engineer

4

u/sebius8780 Sep 06 '26

Vibe "engineer" ?

8

u/WriedGuy Sep 06 '26

3.19 M lines were over engineered comments written by sonnet

6

u/CaeciliusC Sep 06 '26

Damn, this app to compare in javascript is massive!

3

u/hillashx Sep 06 '26

Vibe Engineer is crazy

3

u/neosyne Sep 06 '26

Bro rewrite the entire thing

3

u/Mr_Bulgogi Sep 06 '26

Don't worry, let me use AI to review the PR and approve it in 10 seconds.

3

u/thanatica Sep 06 '26

vibe engineer is not worth being capitalised

3

u/GeneralPatten Sep 07 '26

I'm so fucking done with it already

3

u/ksky0 Sep 07 '26

did you use AI?

5

u/Fukushimiste Sep 06 '26

You just removed the folder 'node_modules' ?

5

u/Beaufort_The_Cat Sep 06 '26

“Vibe engineer” made me physically ill

2

u/clauEB Sep 06 '26

WTF is a vibe engineer???

2

u/wannabestraight Sep 06 '26

I like how everyone is discussing this as If this was not extremely obviously fake.

2

u/shiznit028 Sep 06 '26

I am not reviewing that PR

2

u/jonnydiamonds360 Sep 07 '26

Whoever reviews this pr is gonna be pissed

2

u/48panda Sep 07 '26

that would be tellling

2

u/Astrea- Sep 07 '26

As long as I don’t have ro review it.

2

u/eager-potato-555 Sep 08 '26

funny how it's called "vibe-enginner" when there was no engineering at all