Writing Bug-Free Code Part I: The Design Process
Now that we have defined what a bug is and have a general idea of what we are looking for, we can start discussing tools and techniques for debugging. The remainder of this book is going to explain debugging while following a natural progression. The flow of the book from this point out will be close to that you would follow if you were designing an application.
The reason for this book being set up to follow the same progression any project leader would take through an application production project is twofold. First, the tips and techniques will make much more sense if we discuss them in the same context that you would be using them in. Second, the book as a whole will be easier to retain if it is presented to you in an order that you may already be familiar with.
The ordering that we will use, beginning with this chapter, will move from planning, through production, and into testing and rollout. The current chapter will look at preplanning and bug avoidance issues, while the remaining chapters will look at bug detection, information gathering, and error codes. Following this natural progression will give you a well-rounded education in debugging.