logo

Why I still review every line Claude writes

AI is great at writing code, but it doesn't always know when to stop

Joel Clermont
Joel Clermont
2026-04-02

I was recently pairing with Claude on a simple Livewire index component. It does one thing. It renders a data grid with some filtering, sorting, and pagination.

The render method had a query in it, maybe 20 - 25 lines, to handle all the filtering and sorting logic before passing the results to the view.

Claude extracted that query into a separate protected method and called it from render.

The code itself was fine and it worked. I can even sort of understand why it might do that. The query was a little on the long side.

But if I was writing manually, I would never have written it that way.

In my view, this component has exactly one job. So extracting that code into a method doesn't actually simplify anything, it makes it slightly less readable.

For a component this focused, the extraction only adds indirection. It makes you read two methods to understand something that was perfectly clear in one.

I think Claude defaults to this because "extract method" is a well-known refactoring pattern, and in many contexts it is the right call. But context matters, and I think programmer taste still matters.

This is why I still review AI-generated code the same way I'd review code from any team member. Even when the code works and the tests pass and the UI looks good, it still might not be right for this project or team.

Here to help,

Joel

P.S. Want to talk about AI and code quality with other experienced Laravel devs? Come join the conversation.

Toss a coin in the jar if you found this helpful.
Want a tip like this in your inbox every weekday? Sign up below 👇🏼
email
No spam. Only real-world advice.