Good programming is difficult. It is especially arduous for new programmers given
the pace of change and the ever-expanding size of the software engineering body of
knowledge (www.swebok.org) that they must master. The authors of this book have
found that experience and in-depth understanding are key factors in both programmer
productivity and reliable software. The bottom line is that experienced programmers
don’t stumble around in the dark. They know the lay of the land, they recognize patterns,
and they avoid the hazardous areas. This book presents our experience and
guidance on 50 discrete topics to assist you in avoiding some of those hazards....