▲ | kstrauser 10 hours ago | ||||||||||||||||||||||||||||||||||
I disagree. Code is code: it speaks for itself. If it's high quality, I don't care whether it came from a human or an AI trained on good code examples. If it sucks, it's not somehow less awful just because someone worked really hard on it. What would change for me is how tactful I am in wording my response to it, in which case it's a little nicer replying to AIs because I don't care about being mean to them. The summary of my review would be the same either way: here are the bad parts I want you to re-work before I consider this. | |||||||||||||||||||||||||||||||||||
▲ | alansammarone 10 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||
I've had a similar discussion with a coworker which I respect and know to be very experienced, and interestingly we disagreed on this very point. I'm with you - I think AI is just tool, and people shouldn't be off the hook because they used AI code. If they consistently deliver bad code, bad PR descriptions, or fail to explain/articulate their reasoning, I don't see any particular reason we should treat it any differently now that AI exists. It goes both ways, of course - reviewer also shouldn't pay less attention when the code is did not involve AI help in any form. I think these are completely orthogonal and I honestly don't see why people have this view. The person who created the PR is responsible for it. Period. Nothing changes. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
▲ | skydhash 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Adding to the sibling comment by @jacknews. Code is much more than an algorithm, it’s the description of the algorithm that is non ambiguous and human readable. Code review is a communication tool. The basic expectation is that you’re a professional and I’m just adding another set of eyes, or you’re a junior and I’m reviewing for the sake of training. So when there’s some confusion, I’m going back to the author. Because you should know why each line was written and how it contributes to the solution. But a complete review takes time. So in a lot of places, we only do a quick scan checking for unusual stuff instead of truly reviewing the algorithms. That’s because we trust our colleagues to test and verify their own work. Which AI users usually skip. | |||||||||||||||||||||||||||||||||||
▲ | jcranmer 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
The problem with reviewing AI-written code is that AI makes mistakes in very different ways from the way humans make mistakes, so you essentially have to retrain yourself to watch for the kinds of mistakes that AI makes. | |||||||||||||||||||||||||||||||||||
▲ | bluGill 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Code doesn't always speak for itself. I've had to do some weird things that make no sense on its own. I leave comments but they are not always easy to understand. Most of this is when I'm sharing data across threads - there is good reason for each lock/atomic and each missing lock. (I avoid writing such code, but sometimes there is no choice). If AI is writing such code I don't trust them to figure out those details, while I have some (only a minority but some) coworkers I trust to figure this out. | |||||||||||||||||||||||||||||||||||
▲ | chomp 10 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
> What would change for me is how tactful I am in wording my response to it So code is not code? You’re admitting that provenance matters in how you handle it. | |||||||||||||||||||||||||||||||||||
▲ | elviejo 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Code is not only code. It's like saying physics it's just math. If we read: F = m*a There is ton of knowledge encoded in that formula. We cannot evaluate the formula alone. We need the knowledge behind it to see if it matches reality. With llms we know for a fact that if the code matches reality, or expectations, it's a happy accident. | |||||||||||||||||||||||||||||||||||
▲ | roughly 10 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
The problem with AI generated code is there’s no unifying theory behind the change. When a human writes code and one part of the system looks weird or different, there’s usually a reason - by digging in on the underlying system, I can usually figure out what they were going for or why they did something in a particular way. I can only provide useful feedback or alternatives if I can figure out why something was done, though. LLM-generating code has no unifying theory behind it - every line may as well have been written by a different person, so you get an utterly insane looking codebase with no constant thread tying it together and no reason why. It’s like trying to figure out what the fuck is happening in a legacy codebase, except it’s brand new. I’ve wasted hours trying to understand someone’s MR, only to realize it’s vibe code and there’s no reason for any of it. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
▲ | m463 8 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
> Code is code oh come on. That's like saying "food is food" or "an AI howto is the same as a human-written howto". The problem is that code that looks good is not the same as code that is good, but they are superficially similar to a reviewer. and... you can absolutely bury reviewers in it. | |||||||||||||||||||||||||||||||||||
▲ | risyachka 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
This is all great except it doesn't give any reason not to label AI code. | |||||||||||||||||||||||||||||||||||
▲ | jacknews 10 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||
Half of the point of code review is to provide expert or alternative feedback to junior and other developers, to share solutions and create a consistent style, standard and approach. So no, code is not just code. |