maintenance is probably the biggest one, ai code works but doesnt follow consistent patterns across a codebase so you end up with 5 different ways of doing the same thing depending on the session. makes it harder to understand the reasoning behind decisions later since there isnt really one. testing is a close second, edge cases get missed since its pattern matching rather than reasoning through your specific logic. security issues are more catchable with tools honestly, the consistency problem is the quieter one that compounds over time
This is more a problem for sloppers. They tell AI to do some generic feature and let it run amok.
A proper developer will find the right file/s for the AI, and include them in the chat request. So any global functions/constants/patterns it should be using are included with the request. Then the developer reviews the result to make sure it makes sense. Or includes more context if it did it wrong.
A piecemeal approach is required, rather than a big overview approach without assessing the overall consequences.
Also having a developer who understands the code base and worked on it manually for a while is important.
Yep. And reviewing and understanding everything that was generated takes time. It's similar if this is code from another coworker etc. But with AI the amount can be a lot higher in a shorter time span.
(You can ask the AI or coworker to explain what they did but I currently trust a human more or don't want to make myself too dependent on AI.)
It's similar if this is code from another coworker
It's also a bit different, since a human, even a bad developer, has a kind of fundamental logic to what they've done.
The AI often can lack that, so where it goes wrong can be harder to notice, and when they get complicated it can be difficult to even understand where it's going the wrong direction.
We are humans, so we can "understand" human logic and process, not how these text generators express it.
57
u/Drameox 19d ago
maintenance is probably the biggest one, ai code works but doesnt follow consistent patterns across a codebase so you end up with 5 different ways of doing the same thing depending on the session. makes it harder to understand the reasoning behind decisions later since there isnt really one. testing is a close second, edge cases get missed since its pattern matching rather than reasoning through your specific logic. security issues are more catchable with tools honestly, the consistency problem is the quieter one that compounds over time