This book takes a humorous slant on the programming practice manual by reversing the usual
approach: under the pretence of teaching you how to become the world's worst programmer who
generally causes chaos the book teaches you how to avoid the kind of bad habits that introduce
bugs or cause code contributions to be rejected. Why be a code monkey when you can be a chaos
monkey? OK so you want to become a terrible programmer. You want to write code that gets
vigorously rejected in review. You look forward to reading feedback plastered in comments like
WTF???. Even better you fantasize about your bug-ridden changes sneaking through and causing
untold chaos in the codebase. You want to build a reputation as someone who writes creaky
messy error-prone garbage that frustrates your colleagues. Bad Programming Practices 101 will
help you achieve that goal a whole lot quicker by teaching you an array of bad habits that will
allow you to cause maximum chaos. Alternatively you could use this book to identify those bad
habits and learn to avoid them. The bad practices are organized into topics that form the basis
of programming (layout variables loops modules and so on). It's been remarked that to
become a good programmer you must first write 10 000 lines of bad code to get it all out of
your system. This book is aimed at programmers who have so far written only a small portion of
that. By learning about poor programming habits you will learn good practices. In addition
you will find out the motivation behind each practice so you can learn why it is considered
good and not simply get a list of rules. What You'll Learn Become a better coder by learning
how (not) to program Choose your tools wisely Think of programming as problem solving Discover
the consequences of a program's appearance and overall structure Explain poor use of variables
in programs Avoid bad habits and common mistakes when using conditionals and loops See how poor
error-handling makes for unstable programs Sidestep bad practices related specifically to
object-oriented programming Mitigate the effects of ineffectual and inadequate bug location and
testing Who This Book Is For Those who have some practical programming knowledge (can program
in at least one programming language) but little or no professional experience which they
would like to quickly build up. They are either still undergoing training in software
development or are at the beginning of their programming career. They have at most 1-2 years
of professional experience.