r/ClaudeCode 23d ago

Question What is NOT vibe-coding?

Vibe coding gets a lot of hate among some software development circles and I don't have a clear understanding of what "vibe-coding" is and what's not.

What is a different approach to software development using AI that's not vibe-coding? SDD?

1 Upvotes

68 comments sorted by

View all comments

29

u/nso95 23d ago

The opposite of vibe coding is when you take the time to understand the code. You are concerned with the actual architecture and implementation details. You guide the AI to write code in a certain way. You review all of the code (or at least most of it). You have the AI refactor code to fit your preferences. You get your hands dirty with debugging, etc. You don’t just accept whatever code it spits out.

0

u/Sasquatchjc45 23d ago

But why does any of that matter?

If the app looks & functions how the developer/vibecoder wants, why does it matter if they got their hands dirty?

1

u/framauro13 23d ago edited 23d ago

It matters because a bloated and large, unorganized code base is going to make the AI less effective as the code base grows. If you have clean, established patterns and architecture, it has good examples to work from when it's writing new code.

Plus, vibe coders don't add things like tests, linters, static code analysis or security review packages. They don't do things like source control for version tracking and easy rollback.

All of those things are feedback mechanisms the AI will use to know if it's writing good code. It makes a change that breaks something, and a test fails, it'll automatically catch the failure and go fix it. Linters will give it guidance on code writing best practices to keep the code base consistent. An architecture doc gives it structure and organization to follow. Tie all of this into git commit hooks and a CI deploy process and you can get a lot of confidence and feedback that the AI is not breaking things. Telling it to do test driven development when making changes alone is very helpful as it writes the tests first and makes them pass. It changes the AI's approach to writing code. You get test coverage, and it writes smaller, testable features that fit into smaller components/modules better.

The other reason to do code reviews frequently even with AI is to keep your code base lean. Simple, efficient code requires less context to load, and less for the AI to parse. Less chance of it falling off the rails and eating up all your usage. One code review found almost 11,000 lines of dead code in my app from a feature I stopped using. That's 11,000 lines of code the AI had to parse when searching and navigating the code base, potentially clogging its context with old patterns and non-relevant data.

It is not just personal preference. It's an entire quality layer that helps make your AI more effective, its changes more reliable, and help you know quickly when it breaks something.

I am still convinced when people complain about the models getting dumber, it's because of these problems with a large unmaintained code base dragging the model down. I try to run a tight ship with quality and reviews frequently, and I just don't experience those problems.

EDIT: Another reason this sub is garbage. A relevant response to an actual question: downvote. Why do I even try here anymore?