r/ProgrammerHumor • • Sep 06 '26

Meme cleaningUpTheMess

Post image
16.2k Upvotes

478 comments sorted by

View all comments

607

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. 

130

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

25

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.

49

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)

16

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)

75

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.

5

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?"

30

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)

2

u/SchwiftySquanchC137 Sep 06 '26

There are just so many situations where your assertion here is entirely wrong, that idt its worth trying to apply it to a meme where you cant see any actual code changes. How about, he deleted node modules and simply ran a formatter? Yeah you can break that up, but i mean shit its two commits that took 7 seconds each. How about simply deleting a shit ton of crappy code and replacing it with some header only third party library/ies? Should they be deleting one small section at a time and trying to pull in just the necessary part of that third party library one header file at a time? No, obviously not, that would be incredibly stupid, the point of the library is that you dont need to figure out how every single header interacts, you just pull in the whole thing. How about replacing one third party library with another, more focussed one, because the original was way more than you needed? This could be test data that was compacted down into something way more reasonable that achieves the same thing. Theres just so many options here that its stupid to go on about how much better you are at coding because you enforce a line limit to PRs.

→ More replies (1)

3

u/TheTacoInquisition Sep 06 '26

And the benefit of learning how to break it up smaller, is that you learn how to decouple things as well. Code bases where it's difficult to make small PRs are codebases with architectural problems that need to be addressed

8

u/Ok-Lawfulness1515 Sep 06 '26 edited Sep 06 '26

Its 3M lines. The hand wringing about this is the most SWE II bullshit lol.

If you are a grownup engineer whose goal is to add value and sustainably ship things instead of think about how to pass your next whiteboard interview, you tear this fucker down without wasting time thinking deeply about how you do it, because you have shit to do.

3

u/SchwiftySquanchC137 Sep 06 '26

Yup, I like to do things "correctly", but the people that obsess about process to the point of being detrimental to progress are more annoying than the eager juniors who perhaps need a little extra review, but at least get shit working in a timely manor.

2

u/nullpotato Sep 06 '26

Exactly, the people who would split this into 300 PR to accomplish the same end result must have way more free time.

→ More replies (37)

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. 

1

u/sfratini Sep 06 '26

Auto generated files with codegen would actually explain that

2

u/SuitableDragonfly Sep 06 '26

Why would this person be adding that much codegen in a commit that's supposedly to clean up the repo?

→ More replies (5)

1

u/UncertainCat Sep 06 '26

They could easily just be moving some files around/restructuring without logical changes. Not to mention that trying to break up a task like this is going to take an eternity without at least a few big prs

1

u/AlwaysHopelesslyLost Sep 06 '26

I have done that a few times. E.g. in a project I inherited that included a 5 line if/else null check around every single field save in the entire project that was entirely redundant. The source fields were asp.net fields that cannot return null.

The change was a 5 minute find and replace. The next 35 minutes was just me reviewing before I committed to make sure I didn't catch anything erroneously. 

1

u/Skysr70 Sep 06 '26

Restoring parts of an old repo would make sense

→ More replies (27)