Comment on How AI assistance impacts the formation of coding skills
Calabast@lemmy.ml 1 day ago
I’m trying out using Claude on a problem at work that has been frustrating; lots of unexpected edge cases that require big changes.
I definitely know less about my “solution” (it’s not done yet, but it’s getting close) than if I actually sat down and did it all myself. And it’s taken a lot lot of back and forth to get to where I am.
It’d probably have gone better if, once Claude provided me a result, I went through it completely and made sure I understood every aspect of it, but man when it just spits out a full script, the urge to just run it and see if it works is strong. And if it’s close but not quite right, then the feeling is “well, let me just ask about this one part while I’m already here” and then you get a new complete script to try. And that loop continues, and I never get around to really going through and fully understanding the code.
ElBarto@piefed.social 1 day ago
Do you tell Claude to make a plan first?
That helps me tremendously. Whenever something needs to be modified, I tell it to update the plan first, and to stick to the plan.
That way, Claude doesn’t rewrite code that has already been implemented as part of the plan.
And understanding the plan helps understanding the code.
Sometimes if I know there will be a lot of code produced, I’ll tell it to add a quick comment on every piece it adds or modifies with a reference to the step in the plan it refers to. Makes code reviewing much more pleasant and easier to follow. And the bugs and hallucinations stick out more too.
Calabast@lemmy.ml 16 hours ago
Smart, I’ll definitely try that out.
ElBarto@piefed.social 6 hours ago
You probably know this, but aside from that, Claude has “plan mode”. When writing, hit “Shift+Tab” a few times until you select it. Claude won’t immediately start coding when you give it instructions.
Also, ask him about the “superpowers* and “ask questions” skills. Game changers too.
priapus@piefed.social 23 hours ago
Agreed, using a planning phase makes a huge difference. It will break the implementation into steps, making reviewing or manually refactoring parts of the code far more easily.