A software developer has various responsibilities—most of which depend on how they understand the code they are working with. Software developers spend much of their time analyzing code to figure out how to correct issues, implement new capabilities, and even learn new technologies. And time is precious, so developers need efficient investigation techniques to be productive. Learning how to be efficient in understanding your code is the main topic of this book.
Often, software developers use the word debugging for any investigation techniques; however, this is only one of the various tools available for examining logic implemented as code. While debugging should mean “finding issues and solving them,” developers use it to name different purposes for analyzing how code works:
- Learning a new framework
- Finding the root cause of a problem
- Understanding existing logic to extend it with new capabilities
First, it is important to understand what investigating code is and how developers do it. In this next section, we look at several commonly encountered scenarios in which you can apply the techniques you’ll learn in this book.