What works for me is downloading the source code of projects that are generally considered to be examples of great code. I then go through it, stopping at critical junctures asking myself, What would I do next? Then comparing that to whatever the author of the program did. If I'm "wrong", I attempt to figure out why and adjust accordingly.
This was directly inspired by the technique Benjamin Franklin used to become a great writer.[0]
This was directly inspired by the technique Benjamin Franklin used to become a great writer.[0]
[0]http://historymatters.gmu.edu/d/6220/ Search for the word spectator in the link for the relevant paragraph.