1) I have a bug in my code and I go ask a senior guru for help. 2) Senior guru comes over to my desk and helps me diagnose the problem. 3) While I fix the bug, senior guru notices some inefficiency in my workflow (unrelated to the bug) and asks, "Why are you doing X that way...you know you could just do Y".
It's great that this kills two birds with one stone, but it would be awesome if I didn't have to leave this to chance and I could find the inefficiencies myself.
I feel like I could use help in all those areas you suggested, but I've looked at those cheat sheets and they never help. What I feel like I need is a story line of some sort where best practices are taught and I can follow the behavior of others. Ideally something like pair-programming would be the cure but its a lot to ask for.