I don't know if this is the best one out there but it is what I have tried to follow.

http://www.jimlangley.net/crank/bikefit.html