Take a look at Code Complete: Chapter 25. Does a way better job explaining this than I could in a comment box.