I find it useful for learning once you get the fundamentals down. I do it by trying to find all the bugs in the generated code, then see what could be cut out or restructured. It really gives more insight into how things actually work than just regular coding alone.
This isn't as useful for coding actual programs though, since it would just take more time than necessary.
Good! It would help prevent flies, which are worse.