Code Complete by Steve M McConnell