1 Starting to know your apps
This chapter covers
- What troubleshooting is and why should you learn it
- The definition of a code investigation technique
- What code investigation techniques we use to understand Java apps
A software developer has various responsibilities. Most of these responsibilities depend on how they understand the code they are working with. Software developers spend a significant amount of their time analyzing code to identify and resolve issues, implement new capabilities, and learn new technologies. And time is precious, so developers need efficient investigation techniques to be productive. Learning how to be efficient in understanding your (or others’) code and how your apps execute is the main topic of this book.
I recall a quote from Robert C. Martin’s book, Clean Code: A Handbook of Agile Software Craftsmanship (Pearson, 2008). He said, “Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. ...[Therefore,] making it easy to read makes it easier to write.” Well, I believe there is much more to add here besides reading the code. The real deal is in investigating the code, and we combine several techniques to do that.
