This is a pretty big topic I must admit. Its all very relative depending on what application you are designing and what scale it needs to be.

Unfortunately I dont have any good links or such for...