▲ | tharkun__ 6 days ago | ||||||||||||||||
I don't think the "complete PR spanning multiple files" is an issue actually. I think the issue is if you don't yourself understand what it's doing. If all you do is to tell it what the outcome should be from a user's perspective, you check that that's what it does and then you just merge. Then you have a problem. But if you just use it to be faster at getting the code you would've liked to write yourself, or make it write the code you'd have written if you had bothered to do that boring thing you know needs to be done but never bothered to do, then it's actually a great tool. I think in that case it's like IDE based refactorings enabled by well typed languages. Way back in the day, there were refactorings that were a royal pain in the butt to do in our Perl code base. I did a lot of them but they weren't fun. Very simple renames or function extractions that help code readability just aren't done if you have to do them manually. If you can tell an IDE to do a rename and you're guaranteed that nothing breaks, it's simply a no brainer. Anyone not doing it is simply a bad developer if you ask me. There's a lot of copy and paste coding going on in "business software". And that's fine. I engage in that too, all the time. You have a blueprint of how to do something in your code base. You just need to do something similar "over there". So you know where to find the thing to copy and paste and then adjust. The AI can do it for you even faster especially if you already know what to tell it to copy. And in some cases all you need to know is that there's something to copy and not from where exactly and it'll be able to copy it very nicely for you. And the resulting PR that does span multiple files is totally fine. You just came up with it faster than you ever could've. Personally I skipped all the "Copilot being a better autocomplete" days and went straight into agentic workflows - with Claude Code to be specific. Using it from within IntelliJ in a monorepo that I know a lot about already. It's really awesome actually. The funny thing is that at least in my experience, the people that are slower than you doing any of this manually are not gonna be good at this with AI either. You're still gonna be better and faster at using this new tool than they were at using the previously available tools. | |||||||||||||||||
▲ | skydhash 6 days ago | parent | next [-] | ||||||||||||||||
> You just need to do something similar "over there". So you know where to find the thing to copy and paste and then adjust. The AI can do it for you even faster especially if you already know what to tell it to copy. And in some cases all you need to know is that there's something to copy and not from where exactly and it'll be able to copy it very nicely for you. The issue with this approach is the mental load of verifying that the it did the thing you asked for correctly. And that it did not mess something like a condition expression. My belief is that most developers don't interact with their code more than character on the screens. Their editing process is clicking, selecting, and moving character by character. Which make their whole experience painful for anything that involves a bit of refactoring. When you exploit things like search based navigation (project or file based), indexing (LSP or IDE intellisense), compilers/linters/test runners report (going directly to the line mentioned), semantic navigation and manipulation (keyboard based), and the knowledge of few extra tools like (git, curl, jq,...) you'll have a far pleasant experience with coding. Editing is effortless in that case. You think about a solution and it's done. Coding is literally the most enjoyable part of the job for me. What's not enjoyable is the many WTFs when dealing with low quality code and having to coax specifications from teammates. | |||||||||||||||||
| |||||||||||||||||
▲ | TheCapeGreek 5 days ago | parent | prev [-] | ||||||||||||||||
Fully agreed. In my view, effective coding agent use boils down to being good at writing briefs as you would for any ticket. The better formatting, detail, and context you can provide BOTH on an outcome level and a technical architecture level, the better your results are. To put it another way: If before LLMs came along you were someone who (purposely or otherwise) became good at writing for documentation and briefing tickets for your team, I think there's a decent chance you're going further with these agentic tools than others that just shove an idea into it and hope for the best. |