Well until you are deep into trait/future/generic territory. Because then you'll go in big fuck (full type being in a separate file) not being correct somewhere in this shit.
Don't get me wrong, I love rust. But those area really need some love
It's not that bad. It definitely helps in long functions.
I'm an advocate for code commenting itself, but sometimes it's just better to comment on what you're doing, and in those cases it helps to over commentate.
Instead of letting the reader interweave code reading and comment reading, I think it's better to do either. Either you go full self describing code, letting the reader parse it as code,m, or you abstract everything, making it more of an explanation of your reasoning, and abstract lines that may look too complicated.
Not every comment needs to be useful, but I still write them to not have this switch between reasoning and thinking in code.
It can also double as rubber duck debugging too!
Oh I'm not talking that it can't be trained well. That's not my point.
Of course dogs can be trained to sniff drugs or find people, the gist of it is that they were trained for this behaviour, and might not understand it like we do.
A good exemple is a study that research on cancer sniffing dogs had problems with false positives.
Joke aside, everytime people gush over AI, I always have to remind them that AI is just a puppy that learnt how to maximise treats, and not actually understand shit. And this is a perfectly good example.
I think I get it but explain nonetheless?