The Zen of Programming by Geoffrey James